辅助方法
数组
array_add
如果给定的键不在数组中, array_add
函数会把给定的键值对加到数组中。
$array = array('foo' => 'bar');
$array = array_add($array, 'key', 'value');
array_divide
array_divide
函数回传两个数组,一个包含原本数组的键,另一个包含原本数组的值。
$array = array('foo' => 'bar');
list($keys, $values) = array_divide($array);
array_dot
array_dot
函数把多维数组扁平化成一维数组,并用 "逗点" 符号表示深度。
$array = array('foo' => array('bar' => 'baz'));
$array = array_dot($array);
// array('foo.bar' => 'baz');
array_except
array_except
函数从数组移除给定的键值对。
$array = array_except($array, array('keys', 'to', 'remove'));
array_fetch
array_fetch
函数回传包含被选择的巢状元素的扁平化数组。
$array = array(
array('developer' => array('name' => 'Taylor')),
array('developer' => array('name' => 'Dayle')),
);
$array = array_fetch($array, 'developer.name');
// array('Taylor', 'Dayle');
array_first
array_first
函数回传数组中第一个通过给定的测试为真的元素。
$array = 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 = 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 = array('name' => 'Joe', 'languages' => array('PHP', 'Ruby'));
$array = array_flatten($array);
// array('Joe', 'PHP', 'Ruby');
array_forget
array_forget
函数将会用 "逗点" 符号从深度巢状数组移除给定的键值对。
$array = array('names' => array('joe' => array('programmer')));
array_forget($array, 'names.joe');
array_get
array_get
函数将会使用 "逗点" 符号从深度巢状数组取回给定的值。
$array = array('names' => array('joe' => array('programmer')));
$value = array_get($array, 'names.joe');
$value = array_get($array, 'names.john', 'default');
提示
想要把 array_get
用在对象上? 请使用 object_get
。
array_only
array_only
函数将会只从数组回传给定的键值对。
$array = array('name' => 'Joe', 'age' => 27, 'votes' => 1);
$array = array_only($array, array('name', 'votes'));
array_pluck
array_pluck
函数将会从数组拉出给定键值对的清单。
$array = array(array('name' => 'Taylor'), array('name' => 'Dayle'));
$array = array_pluck($array, 'name');
// array('Taylor', 'Dayle');
array_pull
array_pull
函数将会从数组回传给定的键值对,并移除它。
$array = array('name' => 'Taylor', 'age' => 27);
$name = array_pull($array, 'name');
array_set
array_set
函数将会使用 "逗点" 符号在深度巢状数组中指定值。
$array = array('names' => array('programmer' => 'Joe'));
array_set($array, 'names.editor', 'Taylor');
array_sort
array_sort
函数通过给定闭包的结果来排序数组。
$array = array(
array('name' => 'Jill'),
array('name' => 'Barry'),
);
$array = array_values(array_sort($array, function($value)
{
return $value['name'];
}));