ホームページ  >  に質問  >  本文

php索引数组按需处理成关联数组?

问题可能有些描述的不是很好,我简单举个栗子

//需求
$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)但是,这个键名是设置不了的。

巴扎黑巴扎黑2763日前838

全員に返信(2)返信します

  • 阿神

    阿神2017-04-10 16:23:17

    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);

    返事
    0
  • 伊谢尔伦

    伊谢尔伦2017-04-10 16:23:17

    补充下,上面的写法还可以用匿名函数使其更优雅。

    返事
    0
  • キャンセル返事