数组紧缩后我得到数组喜欢这个 [[10,9,7],[6,5,4],[3,1]] ,但我想 foreach 循环数组的所有元素

after array crunch i get array likes this [[10,9,7],[6,5,4],[3,1]] , but i want to foreach loop for all elements of array

这是我的代码,我想对数组的所有元素进行 foreach 循环

 $all_users  = \App\User::orderBy('id','desc')->pluck('id')->toArray();
               $all_user = array_chunk($all_users, 3);
             foreach($all_user as $numbers){
                 foreach($numbers as $number){                   
                    return $all_firebase_tokens = \App\UserDeviceId::WhereIn('user_id',$number)->pluck('firebase_token')->toArray();
                }
            }

正如 Jaquarh 所提到的,foreach 循环的第一次迭代将通过已经返回一个值来停止整个函数。假设您需要的是 firebase_tokens 的数组,您可能需要这样的东西:

$all_users  = \App\User::orderBy('id','desc')->pluck('id')->toArray();
$all_user = array_chunk($all_users, 3);
$all_firebase_tokens = [];
foreach($all_user as $numbers){
    foreach($numbers as $number){                   
        array_push($all_firebase_tokens, \App\UserDeviceId::WhereIn('user_id',[$number])->pluck('firebase_token')->toArray());
    }
}
return $all_firebase_tokens;

简单而小巧的代码片段,您可以轻松地在 $arraySingle 上循环:

$array = [[10,9,7],[6,5,4],[3,1]];

$arraySingle = call_user_func_array('array_merge', $array);

print_r($arraySingle);

输出将是这样的:

Array ( [0] => 10 [1] => 9 [2] => 7 [3] => 6 [4] => 5 [5] => 4 [6] => 3 [7] => 1 
)