数组
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"));