0
我的页面中有这个小小的搜索功能; $ searchWord是我需要在我的数组中查找的单词。 阵列看起来有点像这样:对象数组Array_search
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)){
认沽'print_r'的找出你开始失去你的数据... –
$值1的照片是我显示在顶部的阵列,没有array_search()它也显示了$ value1-> ActionScopeId等的值。 – Matheno
是的,你去了。 'array_search'在数组中搜索,但是'$ value1'实际上是一个对象。 (如果我没有弄错) –