在PHP中,数组函数 array_column() 返回多维数组中指定的一列。
函数语法:
array_column ( array $input , mixed $column_key [, mixed $index_key = null ] ) : array函数参数说明:
参数描述array必需。指定要使用的多维数组(记录集)。column_key必需。需要返回值的列。可以是索引数组的列的整数索引,或者是关联数组的列的字符串键值。该参数也可以是 NULL,此时将返回整个数组(配合index_key 参数来重置数组键的时候,非常管用)。index_key可选。作为返回数组的索引/键的列。array_column() 函数返回input多维数组中键值为column_key的列,返回值为单列数组。 如果指定了可选参数index_key,那么input数组中的这一列的值将作为返回数组中对应值的键。
举例1,返回数组中指定的列:
<?php // 定义数组 $arr = [['name' => 'zhangsan', 'age' => 100, 'id' => 10], ['name' => 'lisi', 'age' => '10', 'id' => 11]]; // 返回数组中指定的列 $resArr = array_column($arr, 'name'); // 输出原数组 var_dump($arr); // 输出结果数组 var_dump($resArr);以上代码输出如下(列索引默认为数字):
array (size=2) 0 => array (size=3) 'name' => string 'zhangsan' (length=8) 'age' => int 100 'id' => int 10 1 => array (size=3) 'name' => string 'lisi' (length=4) 'age' => string '10' (length=2) 'id' => int 11 array (size=2) 0 => string 'zhangsan' (length=8) 1 => string 'lisi' (length=4)
举例2,返回数组中指定的列,指定返回数组的索引列:
<?php // 定义数组 $arr = [['name' => 'zhangsan', 'age' => 100, 'id' => 10], ['name' => 'lisi', 'age' => '10', 'id' => 11]]; // 返回数组中指定的列 $resArr = array_column($arr, 'name', 'id'); // 输出原数组 var_dump($arr); // 输出结果数组 var_dump($resArr);以上代码输出如下(列索引使用列id的值):
array (size=2) 0 => array (size=3) 'name' => string 'zhangsan' (length=8) 'age' => int 100 'id' => int 10 1 => array (size=3) 'name' => string 'lisi' (length=4) 'age' => string '10' (length=2) 'id' => int 11 array (size=2) 10 => string 'zhangsan' (length=8) 11 => string 'lisi' (length=4)注意:
1. 此函数不改变原数组。