2012-07-15 173 views
1

通過一個大陣列I環,得到了IDS如果數組只包含一個元素,如何使用in_array?

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

有時$ cat_ids只有一個元素的一小陣。 Array ([0] => 123

當我檢查,如果一個隨機ID是這個$ cat_ids陣列,if(in_array($int,$cats_ids))

我可以得到$ cat_ids錯誤消息 「()in_array預計參數2是陣列,...」

我該如何檢查$ int是否正確地在$ cat_ids中?

+3

即使有一個元素,'$ cat_ids'仍然是一個數組。 – nickb 2012-07-15 16:04:26

+6

您的數組名稱是'$ cat_ids',並且您正在使用'$ cats_ids' – hjpotter92 2012-07-15 16:04:49

+0

哦,對不起,我沒有發現這個錯誤。謝謝! – Jenny 2012-07-15 16:06:35

回答

0

如果數組的值爲零或更多,則無關緊要。它只需要是一個數組。所以你對變量有一些錯誤。如果它不是一個數組,你總是可以強制轉換成使用(array)$cats_ids

4

您的數組名稱(中環)的陣列是$cat_ids和你在函數中使用$cats_idsin_array()

相關問題