Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/laravel/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Arrays in_array()期望参数2为数组,对象为给定的_Arrays_Laravel_Pluck - Fatal编程技术网

Arrays in_array()期望参数2为数组,对象为给定的

Arrays in_array()期望参数2为数组,对象为给定的,arrays,laravel,pluck,Arrays,Laravel,Pluck,我知道这和其他问题类似,但是。 如果我们从数据库中获取数据数组并尝试比较这些数据,该怎么办 $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 (

我知道这和其他问题类似,但是。 如果我们从数据库中获取数据数组并尝试比较这些数据,该怎么办

$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>';
    }
}
$x=Video::where('kursus_id',$data)->pull('slug');
$z=Video::where('kelas\u id',$data\u id\u kelas)
->其中('mapel\u id',$data\u id\u mapel)
->拔(“鼻涕虫”);
foreach($z作为$value){
if(在_数组中($value,$x)){
}否则{
回显$value。“
”; } }
这会给我抛出一个错误,如\u array()中的
期望参数2是数组,给定对象

但是当我试图用 $x=[“2”] $z=[“1”、“2”、“3”] 这就是工作。输出为1&3 我想当我使用db并给它pull时,当我使用像[“1”,“2”,“3”]这样的正则数组时,它将变成相同的输出

如果我的意见错了,请纠正我。我正在学习。朋友们谢谢

这是第二个参数要求。数组,并且您正在给对象赋值,这就是此错误的原因

要解决这个问题,您需要使用laravel中的函数

$x=Video::where('kursus_id',$data)->pull('slug')->toArray();

然后你可以在数组($value,$x)

中使用
,它们不是数组,而是作为对象的集合。。。集合类上的某些可用方法。。。如果您需要集合中的数组,可以对其调用
all()
,谢谢您的更正。如何将我的数据转换为数组?但是当我使用数组中的所有类似于[{data}]的对象时,当我使用类似于[{data}]的对象时,如何将我的数据转换为类似于数组的[data]