php array_column 常见用法,三种用法,四种用法

review很多同事代码,对于array_column 的使用不是很熟悉,只会用于提取二维数组的某个字段一种用法。实际有很多种常见用法

有数组:

$arr = [
    ['id' => "5", 'name' => 'D', 'age' => 18],
    ['id' => "1", 'name' => 'A', 'age' => 19],
    ['id' => "2", 'name' => 'B', 'age' => 20],
    ['id' => "3", 'name' => 'C', 'age' => 18],
];

用法1:将数组的id抽取出来,组成一个新的一维数组


$newArr = array_column($arr,'id');
// 输出
Array
(
    [0] => 5
    [1] => 1
    [2] => 2
    [3] => 3
)

用法2:将id作为key,name作为value,组成一个新的一维数组



$newArr = array_column($arr,'name','id');
// 输出
Array
(
    [5] => D
    [1] => A
    [2] => B
    [3] => C
)


用法3:将id作为二维树数组的key,替换掉原来的默认有序key

$newArr = array_column($arr, null,'id');
// 输出
Array
(
    [5] => Array
        (
            [id] => 5
            [name] => D
            [age] => 18
        )

    [1] => Array
        (
            [id] => 1
            [name] => A
            [age] => 19
        )

    [2] => Array
        (
            [id] => 2
            [name] => B
            [age] => 20
        )

    [3] => Array
        (
            [id] => 3
            [name] => C
            [age] => 18
        )

)

用法4:将二维数组的id值的大小作为排序条件进行排序:


$fields = array_column($arr, 'id');
array_multisort($fields, SORT_ASC, $arr);
// 输出:
Array
(
    [0] => Array
        (
            [id] => 1
            [name] => A
            [age] => 19
        )

    [1] => Array
        (
            [id] => 2
            [name] => B
            [age] => 20
        )

    [2] => Array
        (
            [id] => 3
            [name] => C
            [age] => 18
        )

    [3] => Array
        (
            [id] => 5
            [name] => D
            [age] => 18
        )

)


  • 3
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值