PHP 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的值将作为索引或键应用于返回的相应列值。
在本例中,我们将采用一个包含键值对的二维数组,并获得由键“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 )
我们可以从这个输出中得出两个结果。
与键'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 )
在这个例子中,我们将采用一个二维数组,其中内部数组是用键值对定义的,与前面的例子相同,然后用 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 )
我们已将列值的索引指定为'id'。
因此,对于第一列值 ,'B'索引是该'id'数组中键的值,即42。
在本篇教程中,我们学习了如何使用PHP Array array_column()函数从给定的输入数组中提取单个列。
评论列表:
发布于 4天前回复该评论
发布于 3天前回复该评论
发布于 3天前回复该评论
发布于 3天前回复该评论
发布于 3天前回复该评论