问题可能有些描述的不是很好,我简单举个栗子
//需求$arr = array('100', '101', '102', '103', '104', '105');$newarr = array(array('id'=>'100'), array('id'=>'101'), array('id'=>'102'), array('id'=>'103'), array('id'=>'104'), array('id'=>'105'));//我的处理方式是$newarr = [];foreach($arr as $val) { $newarr[] = array('id'=>$val);}
上述方法可以实现我的需求,还有什么其他方式可以实现?我找到一个内置函数array_chunk($arr, 1, true)但是,这个键名是设置不了的。
回复内容: 问题可能有些描述的不是很好,我简单举个栗子
//需求$arr = array('100', '101', '102', '103', '104', '105');$newarr = array(array('id'=>'100'), array('id'=>'101'), array('id'=>'102'), array('id'=>'103'), array('id'=>'104'), array('id'=>'105'));//我的处理方式是$newarr = [];foreach($arr as $val) { $newarr[] = array('id'=>$val);}
上述方法可以实现我的需求,还有什么其他方式可以实现?我找到一个内置函数array_chunk($arr, 1, true)但是,这个键名是设置不了的。
array_map()函数可以实现你的需求:
$arr = array('100', '101', '102', '103', '104', '105');function make($v){ return array('id'=>$v);}$newarr=array_map('make', $arr);var_dump($newarr);//多谢楼下坛友建议$newarr=array_map(function ($v){return array('id'=>$v);},$arr);
补充下,上面的写法还可以用匿名函数使其更优雅。