0

私のページにはこの小さな検索機能があります。$searchWord は、配列内で探す必要のある単語です。配列は次のようになります。

stdClass Object ( 
[ActionScopeId] => 181365 
[DateChanged] => 0001-01-01T00:00:00 
[DateCreated] => 2013-08-20T13:59:33.053 
[Description] => Snelheid test 
[MessageCode] => C0000448220 
) 
stdClass Object ( 
[ActionScopeId] => 181364 
[DateChanged] => 0001-01-01T00:00:00 
[DateCreated] => 2013-08-14T10:08:50.707 
[Description] => Test 
[MessageCode] => C0000448219 
) 

たとえば、「テスト」という単語を探したいと思います。見つかったら、ActionScopeId と DateCreated を一緒に出力したいと思います。

これは私のコードです:

$roc = array('relation' => $_SESSION['username']);
$rocresponse = $wcfclient->ReadOpenCalls($roc);
foreach ($rocresponse->ReadOpenCallsResult as $key => $value){
  foreach ($value as $key1 => $value1){
    if (array_search($searchWord,$value1)){
      echo $value1->ActionScopeId;
    }
  }
}

しかし、私が得る結果は常に空です。私は何を間違っていますか?


オブジェクトを検索しようとすると、この関数を使用できるようになりました。

    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($value == $val){
                return true;
            }
        }else{
            return in_object($val, $value);
        }
    }
    return false;
}

そして、次のように探します。

if (in_object($searchWord,$value)){
4

1 に答える 1