2 回答

TA貢獻2019條經驗 獲得超9個贊
您不會返回else
塊中的任何內容。因此,如果條件是,false
則返回值將是null
。
從塊中的遞歸調用返回else
:
return get_string_between($newString,$start,$end,$preo);

TA貢獻1887條經驗 獲得超5個贊
function get_string_between($string, $start, $end, $preo) {
if (strpos($string,$start)===FALSE) {
return $preo;
} else {
if (strlen($string)!==0) {
$ini = strpos($string, $start);
$pre = substr($string,0,$ini);
$ini += strlen($start);
$len = strpos($string, $end, $ini) - $ini;
$part = chr(substr($string, $ini, $len));
$preo .= $pre;
$preo .= $part;
$newString = substr($string, strlen($pre) + strlen(substr($string,$len)) + strlen($start) + strlen($end), strlen($string)-strlen($pre));
get_string_between($newString,$start,$end,$preo);
}
}
}
$rr = get_string_between("vishalOo59oOOo59oO", 'Oo', 'oO', '');
var_dump($rr);
上面的程序正在返回null。
- 2 回答
- 0 關注
- 279 瀏覽
添加回答
舉報