本文已参与【新人创作礼】活动 ,一起开启掘金创作之路
1.array_values(php内置函数) 与 array_flatten(laravel框架助手函数)
array_flatten 将多维数组转化为一维数组
array_values 将关联数组转化为索引数组(将字符串类型的key值转化为数字类型的key值)
$arrays = [
'phpframe' => ['Laravel','ThinkPHP','Yii','CodeIgniter'],
'programming_language' => ['PHP', 'C','C#', 'Java']
];
$array = array_flatten($arrays);
$array_other = array_values($arrays);
var_dump($array,$array_other);exit;
2.array_first 函数返回数组中第一个通过指定条件筛选的元素
$array = [1001, 2000, 3000];
$value = array_first($array, function ($value, $key) {
return $value % 2 == 0;
});
dump($value);
//int 2000
//可传递第三个参数作为默认值。当没有元素通过条件筛选时,将会返回该默认值:
$value = array_first($array, $callback, $default);
$value = array_first($array, function ($value, $key) {
return is_string($value);
},'i am a string!!!');
dump($value);
//string 'i am a string!!!' (length=16)
3.array_last 函数返回数组中最后一个通过指定条件筛选的元素:
$array = [1500, 2000, 3000, 1100];
$value = array_last($array, function ($value, $key) {
return $value >= 1500;
});
dump($value);
//int 3000
4.array_only 函数从数组返回指定的键值对:
$array = ['uid' => '100001', 'price' => 100, 'order_id' => '202204091642301001'];
$array = array_only($array, ['uid', 'order_id']);
dump($array);
array (size=2)
'uid' => string '100001' (length=6)
'order_id' => string '202204091642301001' (length=18)
5.array_pluck 函数从数组里面找出指定键对应的所有值:
$array = [
[
'developer' => [
'uid' => 1001,
'name' => 'Taylor'
]
],
[
'developer' => [
'uid' => 1002,
'name' => 'Swift'
]
]
];
$array = array_pluck($array, 'developer.name');
dump($array);
//
array:2 [
0 => "Taylor"
1 => "Swift"
];
//你也可以指定要以什么作为结果列的键名 作用类似于php内置函数array_column($arr,$column_key,$index_key):
$array = array_pluck($array, 'developer.name', 'developer.uid');
dump($array);
//
array:2 [
1001 => "Taylor"
1002 => "Swift"
];
6.array_prepend 函数将元素加到数组的头部:
$array = ['CBA', 'NBA', 'Football', 'Basketball'];
$array = array_prepend($array, 'Volleyball');
var_dump($array);
array (size=5)
0 => string 'Volleyball' (length=10)
1 => string 'CBA' (length=3)
2 => string 'NBA' (length=3)
3 => string 'Football' (length=8)
4 => string 'Basketball' (length=10)
7.array_add()
array_add
函数添加给定键值对到数组,如果给定键不存在的话:
$array = array_add(['name' => 'Tom'], 'age', 18);
var_dump($array);
# 输出 ['name' => 'Tom', 'age' => 18]
8.array_divide()
array_divide
函数返回两个数组,一个包含原数组的所有键,另外一个包含原数组的所有值:
list($keys, $values) = array_divide(['name' => 'Tom', 'age' => 18]);
# 输出
// $keys: ['name','age']
// $values: ['Tom',18]