20,359
社区成员
发帖
与我相关
我的任务
分享
原数据
$list = array(
array('id'=>10, 'name'=>'张三'),
array('id'=>20, 'name'=>'李四'),
array('id'=>30, 'name'=>'王五'),
);
想要的结果
$list2 = array(
'10'=>'张三',
'20'=>'李四',
'30'=>'王五'
);
$list = array(
array('id'=>10, 'name'=>'张三'),
array('id'=>20, 'name'=>'李四'),
array('id'=>30, 'name'=>'王五'),
);
$list2 = array_combine(array_column($list, 'id'), array_column($list, 'name'));
print_r($list2);
$newlist = array_combine(array_column($list,'id'),array_column($list,'name'));
/* array_column php5.5+
Array
(
[10] => 张三
[20] => 李四
[30] => 王五
)
*/
$list = array(
array('id'=>10, 'name'=>'张三'),
array('id'=>20, 'name'=>'李四'),
array('id'=>30, 'name'=>'王五'),
);
foreach($list as $v) $list2[$v['id']] = $v['name'];
print_r($list2);
Array
(
[10] => 张三
[20] => 李四
[30] => 王五
)
这不是很简单吗?
如果你的php版本足够高,支持 array_column 函数的话,你还可有另一种做法$list2 = array_combine(array_column($list,'id'), array_column($list,'name'));