【发布时间】:2017-02-03 13:27:35
【问题描述】:
我有一个数组
$arr = array(
1=>'xyz',
2=>'abc',
3=>'pqr'
);
我想把它转换成
$multiarr=array(
[0]=>array(
['id']=>1,
['name']=>'abc'),
[1]=>array(
['id']=>2,
['name']=>'xyz'),
[2]=>array(
['id']=>3,
['name']=>'pqr')
);
id是key,name是第一个数组的值
我怎样才能乐观地实现它
我已经这样做了
$keys=array_keys($arr);
$values=array_values($arr) ;
$multiarr=array();
for($i=0; $i<count($keys); $i++)
{
$multiarr[$i]['id']=$keys[$i];
$multiarr[$i]['name']=$values[$i];
}
谢谢。
【问题讨论】:
-
array_walk($arr,function($val,$key) {return array('id'=>$key,'name'=>$val);});之后为新鲜索引做$arr=array_values($arr);