如何合并数组? array_merge不工作

时间:2018-03-23 01:49:46

标签: php arrays laravel

大家好我试图在数组中合并一些数组。 目前我的代码:

$matchs = DiraChatLog::where('status','=','Match')->whereBetween('date_access', [$request->from, $request->to])->get();
foreach ($matchs as $key => $match) {
    $array[] = [
        $match->date_access => $match->status,
    ];

}

dd($array);

所以有了这个我得到的时候我dd();喜欢: enter image description here

所以我现在要做的是将所有数组合并为数组中的一个:16>  本身。
我怎样才能做到这一点?我试过阵列合并,它不工作

1 个答案:

答案 0 :(得分:2)

对于您的情况,您应该拥有唯一的$match->date_access,以便将其用作数组的键,如下所示:

$matchs = DiraChatLog::where('status','=','Match')
    ->whereBetween('date_access', [$request->from, $request->to])
    ->get();

foreach ($matchs as $key => $match) {
    $array[$match->date_access] = $match->status;
}

如果您有更复杂的数据,可以使用array_collapse帮助程序将数组数组折叠为单个数组, 这是一个例子:

$array = array_collapse([[1, 2, 3], [4, 5, 6], [7, 8, 9]]);

// [1, 2, 3, 4, 5, 6, 7, 8, 9]