检查两个字符串是否以相同的字符开头

时间:2012-07-03 09:54:01

标签: php string oop

我正在尝试在面向对象的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;
    }
}

2 个答案:

答案 0 :(得分:4)

您错过了回复:

return Object::different_first(substr($item, 1), $item1); 

答案 1 :(得分: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;
    }
}