我正在使用Laravel,并且有一个简单的嵌套数组
[
['id' => 1, 'name' => 'name1', 'phone' => '0'],
['id' => 2, 'name' => 'name2', 'phone' => '00'],
['id' => 3, 'name' => 'name3', 'phone' => '000']
]
我想使用Laravel array_forget()或其他任何简单方式
不用手机就能得到这个阵列
答案 0 :(得分:1)
您可以这样做:
$elements = [
['id' => 1, 'name' => 'name1', 'phone' => '0'],
['id' => 2, 'name' => 'name2', 'phone' => '00'],
['id' => 3, 'name' => 'name3', 'phone' => '000']
];
$elements_without_phones = collect($elements)->map(function ($element){
array_forget($element, 'phone');
return $element;
});
答案 1 :(得分:0)
您可以看一下laravel的高级收集方法-一堆方便的帮助程序,旨在与Laravel中的数组式收集一起使用。您可能需要的是except()
method
答案 2 :(得分:0)
您必须迭代数组的数组,并对每个(子)数组应用array_forget()
函数。
$array = [
['id' => 1, 'name' => 'name1', 'phone' => '0'],
['id' => 2, 'name' => 'name2', 'phone' => '00'],
['id' => 3, 'name' => 'name3', 'phone' => '000']
];
foreach($array as &$sub_array) { //note the passing by reference
array_forget($sub_array, 'phone');
}
答案 3 :(得分:-1)
$collection = collect(['product_id' => 1, 'name' => 'Desk', 'price' => 100, 'discount' => false]);
$filtered = $collection->only(['product_id', 'name']);
$filtered->all();
// Output: ['product_id' => 1, 'name' => 'Desk']