数组

最后更新于:2022-04-01 15:08:22

## array_add 如果给定的键不在数组中,array_add 函数会把给定的键值对加到数组中。 ~~~ $array = ['foo' => 'bar']; $array = array_add($array, 'key', 'value'); ~~~ ## array_divide array_divide 函数返回两个数组,一个包含原本数组的键,另一个包含原本数组的值。 ~~~ $array = ['foo' => 'bar']; list($keys, $values) = array_divide($array); ~~~ ## array_dot array_dot 函数把多维数组扁平化成一维数组,并用「点」符号表示深度。 ~~~ $array = ['foo' => ['bar' => 'baz']]; $array = array_dot($array); // ['foo.bar' => 'baz']; ~~~ ## array_except array_except 函数从数组移除给定的键值对。 `$array = array_except($array, ['keys', 'to', 'remove']);` ## array_fetch array_fetch 函数返回包含被选择的嵌套元素的扁平化数组。 ~~~ $array = [ ['developer' => ['name' => 'Taylor']], ['developer' => ['name' => 'Dayle']] ]; $array = array_fetch($array, 'developer.name'); // ['Taylor', 'Dayle']; ~~~ ## array_first array_first 函数返回数组中第一个通过给定的测试为真的元素。 ~~~ $array = [100, 200, 300]; $value = array_first($array, function($key, $value) { return $value >= 150; }); ~~~ 也可以传递默认值当作第三个参数: `$value = array_first($array, $callback, $default);` ## array_last array_last 函数返回数组中最后一个通过给定的测试为真的元素。 ~~~ $array = [350, 400, 500, 300, 200, 100]; $value = array_last($array, function($key, $value) { return $value > 350; }); // 500 ~~~ 也可以传递默认值当作第三个参数: `$value = array_last($array, $callback, $default);` ## array_flatten array_flatten 函数将会把多维数组扁平化成一维。 ~~~ $array = ['name' => 'Joe', 'languages' => ['PHP', 'Ruby']]; $array = array_flatten($array); // ['Joe', 'PHP', 'Ruby']; ~~~ ## array_forget array_forget 函数将会用「点」符号从深度嵌套数组移除给定的键值对。 ~~~ $array = ['names' => ['joe' => ['programmer']]]; array_forget($array, 'names.joe'); ~~~ ## array_get array_get 函数将会使用「点」符号从深度嵌套数组取回给定的值。 ~~~ $array = ['names' => ['joe' => ['programmer']]]; $value = array_get($array, 'names.joe'); $value = array_get($array, 'names.john', 'default'); ~~~ > 注意: 想要把 array_get 用在对象上? 请使用 object_get。 ## array_only array_only 函数将会只从数组返回给定的键值对。 ~~~ $array = ['name' => 'Joe', 'age' => 27, 'votes' => 1]; $array = array_only($array, ['name', 'votes']); ~~~ ## array_pluck array_pluck 函数将会从数组拉出给定键值对的清单。 ~~~ $array = [['name' => 'Taylor'], ['name' => 'Dayle']]; $array = array_pluck($array, 'name'); // ['Taylor', 'Dayle']; ~~~ ## array_pull array_pull 函数将会从数组返回给定的键值对,并移除它。 ~~~ $array = ['name' => 'Taylor', 'age' => 27]; $name = array_pull($array, 'name'); ~~~ ## array_set array_set 函数将会使用「点」符号在深度嵌套数组中指定值。 ~~~ $array = ['names' => ['programmer' => 'Joe']]; array_set($array, 'names.editor', 'Taylor'); ~~~ ## array_sort array_sort 函数通过给定闭包的结果来排序数组。 ~~~ $array = [ ['name' => 'Jill'], ['name' => 'Barry'] ]; $array = array_values(array_sort($array, function($value) { return $value['name']; })); ~~~ ## array_where 使用给定的闭包过滤数组。 ~~~ $array = [100, '200', 300, '400', 500]; $array = array_where($array, function($key, $value) { return is_string($value); }); // Array ( [1] => 200 [3] => 400 ) ~~~ ## head 返回数组中第一个元素 `$first = head($this->returnsArray('foo'));` ## last 返回数组中最后一个元素。对方法链很有用。 `$last = last($this->returnsArray('foo'));`
';