PHP - 在Object中查找字符串

时间:2015-04-11 00:36:52

标签: php string object

想在对象中找到一个字符串,在网上找到这个代码,但似乎没有现成的工作,可以这么说:

private static function in_object($val, $obj) {
    if($val == ""){
        trigger_error("in_object expects parameter 1 must not empty", E_USER_WARNING);
        return false;
    }
    if(!is_object($obj)){
        $obj = (object)$obj;
    }

    foreach($obj as $key => $value){
        if(!is_object($value) && !is_array($value)){
            if(strpos($value,$val)!==FALSE){
                return true;
            }
        }elseif(is_array($value)) {
           if(in_array($val, $value)!==FALSE){
                return true;
            }
        }else{
            return self::in_object($val, $value);
        }
    }
    return false;
}

它不会返回错误消息,屏幕只是保持空白。我正在搜索的对象将包括数组,它是我想要测试某些文本字符串的数组之一。

希望这有一个小错误,可以轻松修复。或许还有其他一些解决方案?

1 个答案:

答案 0 :(得分:0)

你总是可以这样做,作为一种解决方法。

$string_to_find = 'find_me';

foreach ($obj as $property => $value) {
    if ($property == $string_to_find) {
        // You found the string 
        $found_string = $property;
    }
    if ($value == $string_to_find) {
        // You found the string
        $found_string = $value;
    }
}

这将在属性或值上找到它。如果您不是100%确定将始终在有效对象上使用它,则应添加一些错误处理以防止出现问题。