php array_column()函数介绍「实例」

1. 介绍

PHP中的array_column()函数是一个非常实用的函数,它可以从多维数组中获取一个列的值,返回一个由指定列组成的数组。

2. 语法

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

2.1 参数说明

input:必需,原始的多维数组。

column_key:必需,需要被返回的列,可以是数组中的一个索引数字或者一个字符串键值。

index_key:可选,作为返回数组中的索引/键值的列,它可以是数组中的一个索引数字或者一个字符串键值。如果省略,则返回的数组元素将使用从0开始的数字索引。

3. 示例

下面是一个使用array_column()函数的简单示例,它会从一个多维数组中获取一个列的值:

// 假设我们有一个数组,保存了一组学生信息

$students = array(

array(

'id' => 1,

'name' => 'Tom',

'age' => 18,

'grade' => 'A'

),

array(

'id' => 2,

'name' => 'Jerry',

'age' => 19,

'grade' => 'B'

),

array(

'id' => 3,

'name' => 'Bob',

'age' => 20,

'grade' => 'C'

),

);

// 获取所有学生的名称

$names = array_column($students, 'name');

// 输出结果

print_r($names);

输出结果如下所示:

Array

(

[0] => Tom

[1] => Jerry

[2] => Bob

)

3.1 获取指定列的值

如果我们只想获取某一列的数据,可以使用以下代码:

// 获取学生的分数

$scores = array_column($students, 'grade');

// 输出结果

print_r($scores);

输出结果如下所示:

Array

(

[0] => A

[1] => B

[2] => C

)

3.2 指定键的值作为返回数组的索引/键值

当我们需要将一个列的值作为返回数组的索引/键值时,可以使用index_key参数。例如,以下代码将使用学生的名称作为返回数组的索引/键值:

// 获取所有学生的名称,并将名称作为返回数组的键

$names = array_column($students, 'name', 'id');

// 输出结果

print_r($names);

输出结果如下所示:

Array

(

[1] => Tom

[2] => Jerry

[3] => Bob

)

4. 总结

array_column()函数是一个非常实用的函数,它可以从多维数组中获取一个列的值。在我们遇到类似的问题时,可以使用这个函数来简化我们的代码。在使用时需要注意,需要获取的列必须存在,并且index_key参数要么是null,要么是一个键存在于input数组中。

后端开发标签