0

我正在尝试在面向对象的 PHP 中执行此操作,但是在使用递归时出现问题(如果第一个字符串以“(”开头,我想检查以下字符),其他情况下工作。这是代码:

public static function different_first($item,$item1) {
    if (substr($item, 0, 1) != substr($item1, 0, 1)) {
        return TRUE;
    } else if (substr($item,0,1)=="(") {
        Object::different_first(substr($item, 1), $item1);
    } else { 
        return FALSE;
    }
}
4

2 回答 2

4

您缺少退货:

return Object::different_first(substr($item, 1), $item1); 
于 2012-07-03T09:56:35.060 回答
1

正如马克所说,错过了回报。我对您的代码进行了一些改进。这会运行得更快。

public static function different_first($item,$item1) {
    if ($item{0} == $item1{0}){
        return false;
    }elseif ($item{0}=="(") {
        return Object::different_first($item{1}, $item1);
    } else { 
        return true;
    }
}
于 2012-07-03T10:02:35.463 回答