array_column — 返回数组中指定的一列
语法

array array_column( array $input, mixed $column_key[, mixed $index_key] )

描述
  • array_column() 返回input数组中键值为column_key的列,如果指定了可选参数index_key,那么input数组中的这一列的值将作为返回数组中对应值的键。
参数
参数 描述
input 需要取出数组列的多维数组(或结果集)
column_key 需要返回值的列,它可以是索引数组的列索引,或者是关联数组的列的键。也可以是NULL,此时将返回整个数组(配合index_key参数来重置数组键的时候,非常管用)
index_key 作为返回数组的索引/键的列,它可以是该列的整数索引,或者字符串键值
返回值
  • 从多维数组中返回单列数组(注意是单列)
举例
$a = [
            [
                'id' => 1,
                'name' => 'first'
            ],
            [
                'id' => 2,
                'name' => 'second'
            ]
];
// 示例1-不指定列,不指定$index_key,就是原数组
$result = array_column($a,null);
print_r($result);
// 结果
Array
(
    [0] => Array
        (
            [id] => 1
            [name] => first
        )

    [1] => Array
        (
            [id] => 2
            [name] => second
        )

)
// 示例2-指定列,不指定$index_key
$result = array_column($a, 'name');
print_r($result);
// 结果
Array
(
    [0] => first
    [1] => second
)
// 示例3-指定列,指定$index_key,如果$index_key不存在,则为索引数组
$result = array_column($a, 'name', 'id');
print_r($result);
// 结果
Array
(
    [1] => first
    [2] => second
)
// 示例4-不指定列,指定$index_key
$result = array_column($a, null, 'id');
print_r($result);
// 结果
Array
(
    [1] => Array
        (
            [id] => 1
            [name] => first
        )

    [2] => Array
        (
            [id] => 2
            [name] => second
        )

)

results matching ""

    No results matching ""