WithCoderWithCoderWithCoder

PHP数组函数array_column(返回多维数组中指定的一列)

    在PHP中,数组函数 array_column() 返回多维数组中指定的一列。

    函数语法:

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

    函数参数说明:

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

    array_column() 函数返回input多维数组中键值为column_key的列,返回值为单列数组。 如果指定了可选参数index_key,那么input数组中的这一列的值将作为返回数组中对应值的键。

    举例1,返回数组中指定的列   

<?php
// 定义数组
$arr = [['name' => 'zhangsan', 'age' => 100, 'id' => 10], ['name' => 'lisi', 'age' => '10', 'id' => 11]];

// 返回数组中指定的列
$resArr = array_column($arr, 'name');

// 输出原数组
var_dump($arr);
// 输出结果数组
var_dump($resArr);

    以上代码输出如下(列索引默认为数字):

array (size=2)
  0 => 
    array (size=3)
      'name' => string 'zhangsan' (length=8)
      'age' => int 100
      'id' => int 10
  1 => 
    array (size=3)
      'name' => string 'lisi' (length=4)
      'age' => string '10' (length=2)
      'id' => int 11

array (size=2)
  0 => string 'zhangsan' (length=8)
  1 => string 'lisi' (length=4)


     举例2,返回数组中指定的列,指定返回数组的索引列   

<?php
// 定义数组
$arr = [['name' => 'zhangsan', 'age' => 100, 'id' => 10], ['name' => 'lisi', 'age' => '10', 'id' => 11]];

// 返回数组中指定的列
$resArr = array_column($arr, 'name', 'id');

// 输出原数组
var_dump($arr);
// 输出结果数组
var_dump($resArr);

    以上代码输出如下(列索引使用列id的值):

array (size=2)
  0 => 
    array (size=3)
      'name' => string 'zhangsan' (length=8)
      'age' => int 100
      'id' => int 10
  1 => 
    array (size=3)
      'name' => string 'lisi' (length=4)
      'age' => string '10' (length=2)
      'id' => int 11

array (size=2)
  10 => string 'zhangsan' (length=8)
  11 => string 'lisi' (length=4)

    注意:

        1. 此函数不改变原数组。

欢迎分享交流,转载请注明出处:WithCoder » PHP数组函数array_column(返回多维数组中指定的一列)