数组

2018-02-24 15:52 更新

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'));

以上内容是否对您有帮助:
在线笔记
App下载
App下载

扫描二维码

下载编程狮App

公众号
微信公众号

编程狮公众号