最近一直有一个需求,就是将二维数组中的某个键的值作为键,重新索引数组
比如,我们有个数组如下
<?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');
目前尚无回复