当前位置: 代码迷 >> 综合 >> PHP数组函数array_column(返回多维数组中指定的一列)
  详细解决方案

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

热度:73   发布时间:2024-03-06 12:17:31.0

    在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 101 => array (size=3)'name' => string 'lisi' (length=4)'age' => string '10' (length=2)'id' => int 11array (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 101 => array (size=3)'name' => string 'lisi' (length=4)'age' => string '10' (length=2)'id' => int 11array (size=2)10 => string 'zhangsan' (length=8)11 => string 'lisi' (length=4)

    注意:

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