这篇文章主要讲解了“php如何实现合并数组且key不变”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“php如何实现合并数组且key不变”吧!
方法:1、使用“+”运算符,语法“数组1 + 数组2”;2、使用array_merge_recursive()函数,当两个或更多个数组元素有相同的键名时,不会进行键名覆盖,而是将多个相同键名的值递归组成一个数组。
本教程操作环境:windows7系统、PHP7.1版,DELL G3电脑
一般PHP中合并两个数组都会使用array_merge()
例如:
$data1 = ['111' => 'aaa', '222' => 'bbb', '333' => 'ccc'];
$data2 = ['444' => 'ddd', '555' => 'eee', '666' => 'fff'];
$data = array_merge($data1, $data2);
var_dump($data);
得到结果:
array(6) {
[0]=>
string(3) "aaa"
[1]=>
string(3) "bbb"
[2]=>
string(3) "ccc"
[3]=>
string(3) "ddd"
[4]=>
string(3) "eee"
[5]=>
string(3) "fff"
}
可以看到使用array_merge()会重置key值,如果key值对我们有用,不想重置,可以使用"+"合并数组。
$data1 = ['111' => 'aaa', '222' => 'bbb', '333' => 'ccc'];
$data2 = ['444' => 'ddd', '555' => 'eee', '666' => 'fff'];
$data = $data1 + $data2;
var_dump($data);
得到结果:
array(6) {
[111]=>
string(3) "aaa"
[222]=>
string(3) "bbb"
[333]=>
string(3) "ccc"
[444]=>
string(3) "ddd"
[555]=>
string(3) "eee"
[666]=>
string(3) "fff"
}
也可以使用array_merge_recursive函数,可以将一个或多个数组的单元合并起来,一个数组中的值附加在前一个数组的后面。返回作为结果的数组。
该函数是array_merge的升级版,在array_merge的基础上加入下面功能: 如果相同键值,为数字时和array_merge一样,重新索引;如果为字符串的时候后面不再覆盖前面,而是而是附加到后面,方式为递归追加;如:
/* array_merge_recursive */
$jiaArr = array(
'name1'=>'xiaoli',
'name2'=>'xiaohua',
'name3'=>'xiaoming',
'1'=>'teacher',
);
$jiaBrr = array(
'name1'=>'xiaolis',
'name5'=>'xiaohuas',
'name6'=>'xiaomings',
'1'=>'teachers',
);
$jiaAll = array_merge_recursive($jiaArr,$jiaBrr);
var_dump($jiaAll);
/*浏览器output:
array(7) {
["name1"]=>
array(2) {
[0]=>
string(6) "xiaoli"
[1]=>
string(7) "xiaolis"
}
["name2"]=>
string(7) "xiaohua"
["name3"]=>
string(8) "xiaoming"
[0]=>
string(7) "teacher"
["name5"]=>
string(8) "xiaohuas"
["name6"]=>
string(9) "xiaomings"
[1]=>
string(8) "teachers"
}
*/
name1 两个数组都有,没有覆盖而是递归方式追加,1 数组键值仍被重新排序;
感谢各位的阅读,以上就是“php如何实现合并数组且key不变”的内容了,经过本文的学习后,相信大家对php如何实现合并数组且key不变这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是亿速云,小编将为大家推送更多相关知识点的文章,欢迎关注!
亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。