私はこのオブジェクト配列を持っています:
stdClass Object (
[ReadOpenCallsResult] => stdClass Object (
[CallHeader] => Array (
[0] => stdClass Object (
[DateChanged] => 0001-01-01T00:00:00
[DateCreated] => 2013-09-11T15:53:39.773
[Description] => Dubbel Test
[MessageCode] => C0000453325
[MessageId] => 83656
[Solved] =>
)
[1] => stdClass Object (
[DateChanged] => 0001-01-01T00:00:00
[DateCreated] => 2013-09-11T13:40:54.077
[Description] => Test
[MessageCode] => C0000453324
[MessageId] => 83653
[Solved] =>
)
)
)
)
そして、この配列で文字列を探す関数があります:
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;
}
これで、この関数は完全な文字列を完全に探します。たとえば、「テスト」を検索すると、この部分が返されます。
[1] => stdClass Object (
[DateChanged] => 0001-01-01T00:00:00
[DateCreated] => 2013-09-11T13:40:54.077
[Description] => Test
[MessageCode] => C0000453324
[MessageId] => 83653
[Solved] =>
)
しかし、たとえば「Dubbel」を探すと、関数が私を返すようにしたい:
[0] => stdClass Object (
[DateChanged] => 0001-01-01T00:00:00
[DateCreated] => 2013-09-11T15:53:39.773
[Description] => Dubbel Test
[MessageCode] => C0000453325
[MessageId] => 83656
[Solved] =>
)
しかし、そうではありません。「Dubbel Test」を探す場合のみ。誰かがこれを修正する方法を知っているので、文字列の一部を同時に検索できますか?