为了账号安全,请及时绑定邮箱和手机立即绑定

Return 语句在 php 中不起作用,尽管值仍然存在,返回时变量仍然为 null

Return 语句在 php 中不起作用,尽管值仍然存在,返回时变量仍然为 null

PHP
慕神8447489 2023-05-26 17:48:44
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 回答

?
慕少森

TA贡献2019条经验 获得超9个赞

您不会返回else块中的任何内容。因此,如果条件是,false则返回值将是null

从块中的递归调用返回else

return get_string_between($newString,$start,$end,$preo);


查看完整回答
反对 回复 2023-05-26
?
慕工程0101907

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。


查看完整回答
反对 回复 2023-05-26
  • 2 回答
  • 0 关注
  • 161 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信