一直忽略了array_column 的一个重要用法,特此记录一下。
1、array_column 函数定义:
array_column ( array $input , mixed $column_key [, mixed $index_key = null ] ) : array
2、参数说明:
input:需要取出数组列的多维数组。
column_key:需要返回值的列,它可以是索引数组的列索引,或者是关联数组的列的键,也可以是属性名。
index_key:作为返回数组的索引/键的列,它可以是该列的整数索引,或者字符串键值。
其中 column_key 可以是NULL,此时将返回整个数组(配合index_key参数来重置数组键的时候,非常管用)
3、废话不说,看code(重置数组键值):
$arr = array(
['name'=>'ad', 'age'=>12, 'sex'=>'m'],
['name'=>'dg', 'age'=>12, 'sex'=>'f'],
['name'=>'ht', 'age'=>15, 'sex'=>'m']
);
var_dump(array_column($arr,null,'name'));
var_dump(array_column($arr,null,'age'));
4、输出分别如下:
array(3) {
["ad"]=>
array(3) {
["name"]=> "ad",
["age"] => int(12),
["sex"] => "m"
}
["dg"]=>
array(3) {
["name"]=> "dg",
["age"] => int(12),
["sex"] => "f"
}
["ht"]=>
array(3) {
["name"]=> "ht",
["age"] => int(15),
["sex"] => "m"
}
}
array(2) {
[12]=>
array(3) {
["name"]=> "dg",
["age"] => int(12),
["sex"] => "f"
}
[15]=>
array(3) {
["name"]=> "ht",
["age"] => int(15)
["sex"] => "m",
}