【发布时间】:2020-04-10 16:41:14
【问题描述】:
我有两个数组,其中两个数组的索引都包含对象
$array1=array(1) {
[0]=> object(stdClass) (3) {
["aid"]=> string(1) "1"
["a_number"]=> string(1) "0"
["id_of"]=> string(1) "1"
}
}
$array2=array(3) {
[0]=> object(stdClass) (3) {
["id"]=> string(1) "1",
["number"]=> string(1) "0" ,
["flag"]=> string(1) "1" ,
["zflag"]=> string(1) "0" ,
["xflag"]=> string(1) "1"
} ,
[1]=> object(stdClass) (3) {
["id"]=> string(1) "2",
["number"]=> string(1) "2" ,
["flag"]=> string(1) "2" ,
["zflag"]=> string(1) "0" ,
["xflag"]=> string(1) "1"
},
[1]=> object(stdClass) (3) {
["id"]=> string(1) "3",
["number"]=> string(1) "3",
["flag"]=> string(1) "3" ,
["zflag"]=> string(1) "0" ,
["xflag"]=> string(1) "1"
}
}
我想比较$array2的所有元素中$id键的值与$array1的每个元素的$id_of的值,如果不存在则返回$array1的元素。以下是我的代码,但它不起作用
public function unanswered($array1,$array2){
if(!(empty($array2))){
$unanswered_arrays=array();
foreach($array1 as $b){
foreach($array2 as $a){
if($b->id != $a->id_of){
array_push($unanswered_arrays,(object)$b);
}
}
}
return $unanswered_arrays;
}
return $array1;
}
【问题讨论】:
-
你想要的输出是什么?很难理解
-
@aksen 我得到空值
-
您能否也显示您期望的输出 - 这将有助于测试任何解决方案。