PHP 二维数组用某个字段/键的值当做键名

yufei       3 月, 3 周 前       266

最近一直有一个需求,就是将二维数组中的某个键的值作为键,重新索引数组

比如,我们有个数组如下

<?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',
    )
);

而我们希望返回下面这样的数组

<?php

$records = array(
    2135 => array(
        'id' => 2135,
        'first_name' => 'John',
        'last_name' => 'Doe',
    ),
    3245 => array(
        'id' => 3245,
        'first_name' => 'Sally',
        'last_name' => 'Smith',
    ),
    5342 => array(
        'id' => 5342,
        'first_name' => 'Jane',
        'last_name' => 'Jones',
    ),
    5623 => array(
        'id' => 5623,
        'first_name' => 'Peter',
        'last_name' => 'Doe',
    )
);

通常,我们的做法是使用 foreach 迭代重新生成一个数组

$new_records = array();
foreach ($records as $value) {
    $new_records[$value['id']] = $value;
}

更为简单的方法,就是使用 array_column()

<?php
array_column($records, null,'id');
目前尚无回复
简单教程 = 简单教程,简单编程
简单教程 是一个关于技术和学习的地方
现在注册
已注册用户请 登入
关于   |   FAQ   |   我们的愿景   |   广告投放   |  博客

  简单教程,简单编程 - IT 入门首选站

Copyright © 2013-2018 简单教程 twle.cn All Rights Reserved.