如果数组只包含一个元素,如何使用in_array


How to use in_array if the array contain only one element?

我循环通过一个大数组,得到一个小数组的ids

foreach ($cats as $cat)
    $cat_ids[] = $cat->term_id;

有时$cat_ids只有一个元素。Array ( [0] => 123

当我检查这个$cat_ids数组中是否有随机id时,if( in_array( $int,$cats_ids ))

我可能会得到$cat_ids的错误消息"in_array()期望参数2是array,…"

如何检查$int是否正确地位于$cat_ids中?

您的数组名称(在循环中)是$cat_ids,并且您在函数in_array() 中使用$cats_ids

数组是否有零值或更多值并不重要。它只需要是一个数组。所以这个变量有一些错误。如果它不是数组,则可以始终使用(array)$cats_ids 将其类型转换为数组