PHP - array_column() 函数


定义和用法

array_column() 函数返回输入数组的单列的值,并由 column_key 标识。

(可选)您可以传递 index_key 以按输入数组的 index_key 列中的值为返回数组中的值编制索引。

语法

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

参数

参数 描述
input (mandatory)

要从中提取值列的多维数组或对象数组。

column_key (mandatory)

要返回的值列。此值可以是要检索的列的整数键,也可以是关联数组或属性名称的字符串键名称。此值可以为 NULL 以返回完整的数组或对象

index_key (optional)

用作返回数组的索引/键的列。此值可以是列的整数键,也可以是字符串键名称。

返回值

该函数 array_column 返回一个值数组,该数组表示输入数组中的单个列。

PHP 版本

此函数最初是在 PHP 版本 5.5.0 中引入的。7.0.0 中引入了 input 参数为对象数组的功能

例子

尝试以下示例,从记录集中获取名字列 -

<?php

 $records = array(
    array(
        'id' => 2135,
        'first_name' => 'Zara',
        'last_name' => 'Ali',
    ),
    array(
        'id' => 3245,
        'first_name' => 'Nuha',
        'last_name' => 'Mac',
    ),
    array(
        'id' => 5342,
        'first_name' => 'Shifa',
        'last_name' => 'Alam',
    ),
    array(
        'id' => 5623,
        'first_name' => 'Riya',
        'last_name' => 'Sweet',
    )
  );

 $first_names = array_column($records, 'first_name');
 print_r($first_names);
?>

这将产生以下结果 -

Array
(
    [0] => Zara
    [1] => Nuha
    [2] => Shifa
    [3] => Riya
)

例子

现在让我们再尝试一个示例,从记录集中获取名字列,但这次我们将使用 id -

<?php

 $records = array(
    array(
        'id' => 2135,
        'first_name' => 'Zara',
        'last_name' => 'Ali',
    ),
    array(
        'id' => 3245,
        'first_name' => 'Nuha',
        'last_name' => 'Mac',
    ),
    array(
        'id' => 5342,
        'first_name' => 'Shifa',
        'last_name' => 'Alam',
    ),
    array(
        'id' => 5623,
        'first_name' => 'Riya',
        'last_name' => 'Sweet',
    )
 );
 $first_names = array_column($records, 'first_name', 'id');
 print_r($first_names);
?>

这将产生以下结果 -

Array
(
    [2135] => Zara
    [3245] => Nuha
    [5342] => Shifa
    [5623] => Riya
)