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 关注
- 237 浏览
添加回答
举报