use Illuminate\Support\Arr;$array = Arr::add(['name' => 'Desk'], 'price', 100);// ['name' => 'Desk', 'price' => 100]$array = Arr::add(['name' => 'Desk', 'price' => null], 'price', 100);// ['name' => 'Desk', 'price' => 100]
use Illuminate\Support\Arr;$array = Arr::collapse([[1, 2, 3], [4, 5, 6], [7, 8, 9]]);// [1, 2, 3, 4, 5, 6, 7, 8, 9]
use Illuminate\Support\Arr;$array = ['products' => ['desk' => ['price' => 100]]];$flattened = Arr::dot($array);// ['products.desk.price' => 100]
use Illuminate\Support\Arr;$array = ['name' => 'Desk', 'price' => 100];$filtered = Arr::except($array, ['price']);// ['name' => 'Desk']
use Illuminate\Support\Arr;$array = [100, 200, 300];$first = Arr::first($array, function ($value, $key) {return $value >= 150;});// 200
use Illuminate\Support\Arr;$first = Arr::first($array, $callback, $default);
use Illuminate\Support\Arr;$array = ['name' => 'Desk', 'price' => 100, 'orders' => 10];$slice = Arr::only($array, ['name', 'price']);// ['name' => 'Desk', 'price' => 100]
use Illuminate\Support\Arr;$array = [['developer' => ['id' => 1, 'name' => 'Taylor']],['developer' => ['id' => 2, 'name' => 'Abigail']],];$names = Arr::pluck($array, 'developer.name');// ['Taylor', 'Abigail']
use Illuminate\Support\Arr;$names = Arr::pluck($array, 'developer.name', 'developer.id');// [1 => 'Taylor', 2 => 'Abigail']
use Illuminate\Support\Arr;$names = Arr::pluck($array,null, 'developer.id');// ['1'=>['developer' => ['id' => 1, 'name' => 'Taylor']],'2'=>['developer' => ['id' => 2, 'name' => 'Abigail']]];
$data = ['products' => ['desk' => ['price' => 100]]];$price = data_get($data, 'products.desk.price');// 100
$discount = data_get($data, 'products.desk.discount', 0);// 0
$data = ['product-one' => ['name' => 'Desk 1', 'price' => 100],'product-two' => ['name' => 'Desk 2', 'price' => 150],];data_get($data, '*.name');// ['Desk 1', 'Desk 2'];
$data = ['products' => ['desk' => ['price' => 100]]];data_set($data, 'products.desk.price', 200);// ['products' => ['desk' => ['price' => 200]]]
$data = ['products' => [['name' => 'Desk 1', 'price' => 100],['name' => 'Desk 2', 'price' => 150],],];data_set($data, 'products.*.price', 200);/*['products' => [['name' => 'Desk 1', 'price' => 200],['name' => 'Desk 2', 'price' => 200],],]*/
$data = ['products' => ['desk' => ['price' => 100]]];data_set($data, 'products.desk.price', 200, false);// ['products' => ['desk' => ['price' => 100]]]
参考资料:
https://learnku.com/docs/laravel/8.x/helpers/9393#method-data-fill
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号