php数组(一) array_merge
array_merge合并数组,几大特点验证:
1、如果输入的数组中有相同的字符串键名,则该键名后面的值将覆盖前一个值。然而,如果数组包含数字键名,后面的值将不会覆盖原来的值,而是附加到后面。如果输入的数组存在以数字作为索引的内容,则这项内容的键名会以连续方式重新索引。
1 2 3 4 5 6 | <?php $array1 = array ( "color" => "red" , 2, 4 => 'first' ); $array2 = array ( "a" , "b" , "color" => "green" , "shape" => "trapezoid" , 4 => 'second' ); $result = array_merge ( $array1 , $array2 ); print_r( $result ); ?> |
输出结果为: 其中key为4的元素没有被覆盖,而是被重新索引,字符串类型的key被覆盖了
1 2 3 4 5 6 7 8 9 10 | Array ( [color] => green [0] => 2 [1] => first [2] => a [3] => b [shape] => trapezoid [4] => second ) |
2、使用+与使用array_merge的区别
1 2 3 4 5 6 | <?php $array1 = array ( "color" => "red" , 2, 4 => 'first' ); $array2 = array ( "a" , "b" , "color" => "green" , "shape" => "trapezoid" , 4 => 'second' ); $result = $array1 + $array2 ; print_r( $result ); ?> |
输出为:如果key已经存在,数组2的元素不会覆盖数组1的元素
1 2 3 4 5 6 7 8 | Array ( [color] => red [0] => 2 [4] => first [1] => b [shape] => trapezoid ) |
3、如果数字为key则会重新索引,如何避免不被重新索引,使用+
1 2 3 4 5 6 | <?php $array1 = array (0 => 'zero_a' , 2 => 'two_a' , 3 => 'three_a' ); $array2 = array (1 => 'one_b' , 3 => 'three_b' , 4 => 'four_b' ); $result = $array1 + $array2 ; var_dump( $result ); ?> |
输出为:第一个数组的键名将会被保留。在两个数组中存在相同的键名时,第一个数组中的同键名的元素将会被保留,第二个数组中的元素将会被忽略。
1 2 3 4 5 6 7 8 9 10 11 12 | array (5) { [0]=> string(6) "zero_a" [2]=> string(5) "two_a" [3]=> string(7) "three_a" [1]=> string(5) "one_b" [4]=> string(6) "four_b" } |
posted on 2021-08-02 20:28 1450811640 阅读(50) 评论(0) 编辑 收藏 举报
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
· 三行代码完成国际化适配,妙~啊~