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

WBOY
發布: 2016-06-06 20:24:16
原創
1542 人瀏覽過

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

<code>//需求
$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);
}
</code>
登入後複製
登入後複製

上述方法可以实现我的需求,还有什么其他方式可以实现?我找到一个内置函数array_chunk($arr, 1, true)但是,这个键名是设置不了的。

回复内容:

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

<code>//需求
$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);
}
</code>
登入後複製
登入後複製

上述方法可以实现我的需求,还有什么其他方式可以实现?我找到一个内置函数array_chunk($arr, 1, true)但是,这个键名是设置不了的。

array_map()函数可以实现你的需求:

<code>$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);</code>
登入後複製

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

相關標籤:
php
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!