首页 » PHP笔记 » php函数array_column如何将二维数组转为一维数组

php函数array_column如何将二维数组转为一维数组

高蒙 2016/10/27 14:43 1.8k浏览 0评论 PHP


php开发中经常会需要将二维数据转化成一维数组,这样便于使用。之前我的做法是将取出来的二维数据通过foreach循环重新组装成一维数组。

今天看到数组处理函数array_column,可以轻松的将二维数组转化为一维数组。下面看具体的介绍。 


版本

(PHP 5 >= 5.5.0)


说明 

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


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


参数 

input

需要取出数组列的多维数组(或结果集) 

column_key

需要返回值的列,它可以是索引数组的列索引,或者是关联数组的列的键。 也可以是NULL,此时将返回整个数组(配合index_key参数来重置数组键的时候,非常管用) 

index_key

作为返回数组的索引/键的列,它可以是该列的整数索引,或者字符串键值。 


返回值 

从多维数组中返回单列数组 


范例 

Example #1 从结果集中取出值,数组代表一个可能的从数据库返回的记录集


<?php

$records = array(

    array(

        'id' => 2135,

        'first_name' => 'John',

        'last_name' => 'Doe',

    ),

    array(

        'id' => 3245,

        'first_name' => 'Sally',

        'last_name' => 'Smith',

    ),

    array(

        'id' => 5342,

        'first_name' => 'Jane',

        'last_name' => 'Jones',

    ),

    array(

        'id' => 5623,

        'first_name' => 'Peter',

        'last_name' => 'Doe',

    )

);

 

$first_names = array_column($records, 'first_name');

print_r($first_names);

?>  



以上例程会输出:


Array

(

    [0] => John

    [1] => Sally

    [2] => Jane

    [3] => Peter

)



Example #2 从结果集中总取出last names列,用相应的id作为键值 


<?php

// Using the $records array from Example #1

$last_names = array_column($records, 'last_name', 'id');

print_r($last_names);

?>  


以上例程会输出:


Array

(

    [2135] => Doe

    [3245] => Smith

    [5342] => Jones

    [5623] => Doe

)





相关文章

我有话说

站长昵称:(*)

输入内容:

选个头像:

评论列表

    ...

    高蒙

    男, PHP程序猿

    文章

    481

    标签

    38

    热度

    10w+

    南京, 江苏, 中国

    人生要是没有理想, 那跟咸鱼有什么分别。