如何使用PHP的Array array_column()函数返回输入数组中指定列的值

PHP array_column() 函数返回输入数组中单个列的值,您可以在其中指定带有列键的列。

在本教程中,我们将学习 array_column() 的语法,以及如何从二维数组中获取特定列,涵盖基于数组类型和参数的不同场景。

array_column()语法

PHP array_column() 函数的语法是

array_column(array,column_key,index_key);
参数描述
array必需。指定要使用的多维数组(记录集)。
column_key必需。需要返回值的列。可以是索引数组的列的整数索引,或者是关联数组的列的字符串键值。该参数也可以是 NULL,此时将返回整个数组(配合index_key 参数来重置数组键的时候,非常管用)。
index_key可选。作为返回数组的索引/键的列。

返回值

array_column() 函数返回输入数组的单个列,其中使用column_key选择该列。如果提供了index_key,则此index_key的值将作为索引或键应用于返回的相应列值。

如何使用PHP的Array array_column()函数返回输入数组中指定列的值

获取数组中单列的值

在本例中,我们将采用一个包含键值对的二维数组,并获得由键“last_name”标识的单个列的值。

<?php
$input = array(
    array(
        'id' => 42,
        'first_name' => 'A',
        'last_name' => 'B',
    ),
    array(
        'id' => 56,
        'first_name' => 'X',
        'last_name' => 'Y',
    ),
    array(
        'id' => 79,
        'first_name' => 'P',
        'last_name' => 'Q',
    )
);
 
$column_key = 'last_name';
 
$column_values = array_column($input, $column_key);
print_r($column_values)
?>

执行结果

Array ( [0] => B [1] => Y [2] => Q )

如何使用PHP的Array array_column()函数返回输入数组中指定列的值

我们可以从这个输出中得出两个结果。

  • 与键'c'指定的列对应的行中的值作为数组返回。

  • 这些值的索引设置为默认值,就像在索引数组中一样。

获取索引数组中单个列的值

<?php
$input = array(
    array(42, 'A', 'B',),
    array(56, 'X', 'Y',),
    array(79, 'P', 'Q',)
);
 
$column_key = 1;
 
$column_values = array_column($input, $column_key);
print_r($column_values)
?>

执行结果

Array ( [0] => A [1] => X [2] => P )

如何使用PHP的Array array_column()函数返回输入数组中指定列的值

使用给定的索引键获取数组中单列的值

在这个例子中,我们将采用一个二维数组,其中内部数组是用键值对定义的,与前面的例子相同,然后用 key 获取列值'last_name'。

我们将通过将索引数组作为第三个参数传递给 array_column() 函数来将索引应用于此返回值。

<?php
$input = array(
    array(
        'id' => 42,
        'first_name' => 'A',
        'last_name' => 'B',
    ),
    array(
        'id' => 56,
        'first_name' => 'X',
        'last_name' => 'Y',
    ),
    array(
        'id' => 79,
        'first_name' => 'P',
        'last_name' => 'Q',
    )
);
 
$column_key = 'last_name';
$index_key = 'id';
 
$column_values = array_column($input, $column_key, $index_key);
print_r($column_values)
?>

执行结果

Array ( [42] => B [56] => Y [79] => Q )

如何使用PHP的Array array_column()函数返回输入数组中指定列的值

我们已将列值的索引指定为'id'。

因此,对于第一列值 ,'B'索引是该'id'数组中键的值,即42。

结语

在本篇教程中,我们学习了如何使用PHP Array array_column()函数从给定的输入数组中提取单个列。

最后编辑于:2023/03/21作者: 烽烟无限