&引用;如果;在PHP中比较两个数组的条件

&引用;如果;在PHP中比较两个数组的条件,php,arrays,object,if-statement,conditional-statements,Php,Arrays,Object,If Statement,Conditional Statements,我有两个数组 $array1=数组(25){ [“ID”]=> int(508) [“标签”]=> 字符串(8)“文档” [“值”]=> 阵列(1){ [0]=> 对象(WP#U术语)#11926(10){ [“术语id”]=> 国际(25) [“名称”]=> 字符串(6)“注1” [“slug”]=> 字符串(6)“注1” } } [“菜单顺序”]=> int(0) ... } $array2=阵列(25){ [“ID”]=> 内部(526) [“标签”]=> 字符串(10)“文件2” [“值

我有两个数组

$array1=数组(25){
[“ID”]=>
int(508)
[“标签”]=>
字符串(8)“文档”
[“值”]=>
阵列(1){
[0]=>
对象(WP#U术语)#11926(10){
[“术语id”]=>
国际(25)
[“名称”]=>
字符串(6)“注1”
[“slug”]=>
字符串(6)“注1”
}
}
[“菜单顺序”]=>
int(0)
...
}
$array2=阵列(25){
[“ID”]=>
内部(526)
[“标签”]=>
字符串(10)“文件2”
[“值”]=>
阵列(2){
[0]=>
阵列(2){
[“值”]=>
字符串(5)“#链接”
[“标签”]=>
字符串(4)“链接”
}
[1]=>
阵列(2){
[“值”]=>
字符串(5)“#链接”
[“标签”]=>
字符串(4)“链接”
}
}
...
}
我想创建一个IF条件-如果数组包含“object(WP_Term)”,则打印“correct”

我试图使用in_array()函数,但没有得到结果,而是存在。in_array()函数是否适用于对象数组?:

if(in_array('object', $array1)) {
print 'correct';}
若并没有,那个么除了检查数组是否包含对象数组之外,还有什么替代方法呢。
不幸的是,它不起作用。请帮我创造条件。thx

如果类“WP_Term”的实例不在某个级别,则必须递归搜索数组。这可以通过以下方式完成。我创建了这个函数:

//return true if arr contains an object with className
function arrayContainObject(array $arr, $className){
  $contain = false;
  array_walk_recursive($arr,function($val,$key) use($className, &$contain){
    if($val instanceOf $className) $contain = true;
  });
  return $contain;
}
//Test Data
class WPterm{}

$arr = [1,2,3,
  [4,5, (new WPTerm)]
];

//check
if( arrayContainObject($arr, 'WPTerm')){
  echo "Array contain object WPterm";
}
使用该函数的示例:

//return true if arr contains an object with className
function arrayContainObject(array $arr, $className){
  $contain = false;
  array_walk_recursive($arr,function($val,$key) use($className, &$contain){
    if($val instanceOf $className) $contain = true;
  });
  return $contain;
}
//Test Data
class WPterm{}

$arr = [1,2,3,
  [4,5, (new WPTerm)]
];

//check
if( arrayContainObject($arr, 'WPTerm')){
  echo "Array contain object WPterm";
}

请添加比“无效”更多的详细信息:是否总是“正确”?从未?是否有错误(如果有,请将其添加到问题中)?另外,需要注意的是,“对象(WP_术语)”不在数组中,而是在数组中的一个数组中。这一点很重要,你的方法必须更加微妙,我们可能需要更多的细节:情况总是这样吗?它能嵌套得更深吗?如果可能的话,发布你的完整检查以帮助你更好!