array_columnphp
array_column() 函数是 PHP 5.5 新增的一个数组函数。它可以返回一个数组中指定键的所有值。该函数需要传递一个数组和一个键名作为参数,返回一个包含指定键的所有值的新数组。
array_column() 函数的语法如下:
array_column(array $array
mixed $column_key[
mixed $index_key = null]) : array
参数说明:
- $array:要处理的数组。
- $column_key:要返回值的键名,可以是一个整数或字符串。如果传递一个整数,则函数将返回指定整数索引对应的值;如果传递一个字符串,则函数将返回指定字符串键对应的值。
- $index_key:可选参数,用作返回数组的索引/键的键名。如果省略,则使用从 0 开始的自动递增索引作为键。
以下是该函数的用法示例:
1. 示例一:返回二维数组中某一列的所有值。
```php
$data = [
['id' => 1
'name' => 'Alice']
['id' => 2
'name' => 'Bob']
['id' => 3
'name' => 'Charlie']
];
$names = array_column($data
'name');
// 输出:['Alice'
'Bob'
'Charlie']
```
上面的示例中,我们有一个二维数组 $data,包含了每个人的 id 和 name。我们可以使用 array_column() 函数获取 $data 数组中所有 name 值的一个新数组 $names。
2. 示例二:指定返回数组的键名。
```php
$data = [
['id' => 1
'name' => 'Alice']
['id' => 2
'name' => 'Bob']
['id' => 3
'name' => 'Charlie']
];
$result = array_column($data
'name'
'id');
// 输出:[1 => 'Alice'
2 => 'Bob'
3 => 'Charlie']
```
上面的示例中,我们可以看到我们通过指定 'id' 参数为键名,将获取的 name 数组作为值。这样返回的结果就是一个以 id 作为键名,以 name 作为值的新数组 $result。
3. 示例三:返回多个列的值。
```php
$data = [
['id' => 1
'name' => 'Alice'
'age' => 24]
['id' => 2
'name' => 'Bob'
'age' => 28]
['id' => 3
'name' => 'Charlie'
'age' => 31]
];
$result = array_column($data
['name'
'age']);
// 输出:[['name' => 'Alice'
'age' => 24]
['name' => 'Bob'
'age' => 28]
['name' => 'Charlie'
'age' => 31]]
```
上面的示例中,我们如果传递的 $column_key 参数为数组,那么返回的结果也将是一个由多个列组成的关联数组。
总结:
array_column() 函数提供了一种方便快捷地获取数组中指定键的值的方式,并且可以选择指定返回的数组的索引/键的键名。通过该函数,我们可以更容易地处理和操作多维数组中的数据。当处理大量数据时,它可以提高我们的编码效率和代码可读性。