array_merge和+的区别
1、字符串键名相同时,array_merge()后边值覆盖前面的值,+是前盖后; 2、数值键名相同时,array_merge()不会覆盖,+是前盖后; eg:字符串 $arr1 = array('a'=>'PHP'); $arr2 = array('a'=>'PYTHON'); print_r(array_merge($arr1,$arr2)); //Array ( [a] => PYTHON ) 如果键名为字符,且键名相同,array_merge()后面数组元素值会覆盖前面数组元素值 print_r($arr1+$arr2); //Array ( [a] => PHP )如果键名为字符,且键名相同,数组相加会将最先出现的值作为结果 $arr1 = array('a'=>'1','b'=>'2'); $arr2 = array('a'=>'1','b'=>'3','c'=>'2'); $ret = array_merge($arr1,$arr2); print_r($ret);//Array ( [a] => 1 [b] => 3 [c] => 2 ) $ret = $arr1+$arr2; print_r($ret);//Array ( [a] => 1 [b] => 2 [c] => 2 ) 数值: $arr1 = array("JAVA","PHP"); $arr2 = array("PYTHON","PHP"); print_r(array_merge($arr1,$arr2));//Array ( [0] => JAVA [1] => PHP [2] => PYTHON [3] => PHP ) 如果键名为数字,array_merge()不会进行覆盖 print_r($arr1+$arr2);//Array ( [0] => JAVA [1] => PHP )如果键名为数字,数组相加会将最先出现的值作为结果,后面键名相同的会被抛弃 $arr1 = array(1=>'1',2=>'2'); $arr2 = array(1=>'1',2=>'3',8=>'2'); $ret = array_merge($arr1,$arr2); print_r($ret);//Array ( [0] => 1 [1] => 2 [2] => 1 [3] => 3 [4] => 2 ) 如果数组中的键名为数字时,会格式化键名并保留所有键值。 $arr1 = array(1,2); $arr2 = array(1,2,8); $ret = array_merge($arr1,$arr2); print_r($ret);//Array ( [0] => 1 [1] => 2 [2] => 1 [3] => 2 [4] => 8 ) ————————————————
原文链接:https://blog.csdn.net/changfangyuansh/article/details/114589119
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!