![](/img/trans.png)
[英]Laravel 5: in_array() expects parameter 2 to be array, object given
[英]in_array() expects parameter 2 to be array, object given
我知道這與其他問題類似,但是。 如果我們從 db 獲取數據數組並嘗試比較這些數據如何?
$x = Video::where('kursus_id', $data)->pluck('slug');
$z = Video::where('kelas_id', $data_id_kelas)
->where('mapel_id', $data_id_mapel)
->pluck('slug');
foreach ($z as $value) {
if (in_array($value, $x)) {
} else {
echo $value.'<br>';
}
}
這給我一個錯誤,比如in_array() expects parameter 2 to be array, object given
。
但是當我嘗試用 $x=["2"] $z=["1","2","3"] 更改 $x 和 $z 時,這很有效。 並且輸出是 1 & 3 我認為當我使用 db 並給它 pluck 時,當我使用像 ["1","2","3"] 這樣的常規數組時,這將成為相同的輸出。
如果我的觀點有誤,請糾正我。 cz 我在學習中。 在朋友之前感謝
in_array()它是第二個參數要求。 數組,而您正在提供對象,這就是此錯誤的原因
要解決此問題,您需要在 laravel 中使用toArray()函數
$x = Video::where('kursus_id', $data)->pluck('slug')->toArray();
那么你可以使用in_array($value, $x)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.