ThinkChat2.0新版上线,更智能更精彩,支持会话、画图、视频、阅读、搜索等,送10W Token,即刻开启你的AI之旅 广告
# 数组 ## 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'));`