资讯专栏INFORMATION COLUMN

array_merge和+号合并数组的区别

Jochen / 2741人阅读

摘要:和号合并数组的区别先看栗子值覆盖情况只考虑字符串索引的键值对用后边数组的值覆盖掉前面数组中键名相同的值数字索引的值则不覆盖同时保留另外会重排两个数组的数字索引则不会。

array_merge和+号合并数组的区别

先看栗子:

array_merge
$a = [51 => 12345];
$b = [10 => 5678];
$c = [];
$c = array_merge($c,$a,$b); 
// Array ( [0] => 12345 [1] => 5678 ) 
$a = [51 => 12345];
$b = [51 => 5678];
$c = [];
$c = array_merge($c,$a,$b); 
print_r($c); // Array ( [0] => 12345 [1] => 5678 )
$a = ["aa" => 12345];
$b = ["aa" => 5678];
$c = [];
$c = array_merge($c,$a,$b); 
print_r($c);// Array ( [aa] => 5678 )

值覆盖情况: 只考虑字符串索引的键值对, 用后边数组的值覆盖掉前面数组中键名相同的值

数字索引的值则不覆盖,同时保留

另外: array_merge()会重排两个数组的数字索引,+则不会。

+
$a = [51 => 12345];
$b = [10 => 5678];
$c = [];
$C = $a+$b; 
// Array ( [51] => 12345 [10] => 5678 ) 
$a = [51 => 12345];
$b = [51 => 5678];
$c = [];
$c = $a+$b; 
print_r($c); // Array ( [51] => 12345 ) 
$a = ["aa" => 12345];
$b = ["aa" => 5678];
$c = [];
$c = $a+$b; 
print_r($c);// Array ( [aa] => 12345 ) 

值覆盖情况: 既考虑数字索引的键值对,也考虑字符串索引的键值对, 用前边数组的值覆盖后边的键名相同的值.

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/28306.html

相关文章

  • PHP中array_merge函数与array+array区别

    在PHP中可以使用array_merge函数和两个数组相加array+array的方式进行数组合并,但两者效果并不相同,下面为大家介绍两者具体的使用区别. 区别如下: 1. 当下标为数值时,array_merge()不会覆盖掉原来的值,但array+array合并数组则会把最先出现的值作为最终结果返回,而把后面的数组拥有相同键名的那些值抛弃掉(不是覆盖). 2. 当下标为字符时,array+ar...

    amuqiao 评论0 收藏0
  • 搞定PHP面试 - 运算符知识点整理

    摘要:除法运算符总是返回浮点数。取模运算符的结果和被除数的符号正负号相同。使用位运算符时要特别注意优先级。太空船运算符组合比较符当小于等于大于时分别返回一个小于等于大于的值。递增递减运算符不影响布尔值。 一、算术运算符 1. 概览 例子 名称 结果 $a + $b 加法 $a 和 $b 的和。 $a - $b 减法 $a 和 $b 的差。 $a * $b 乘法 $a 和 ...

    HelKyle 评论0 收藏0
  • PHP_数组

    摘要:李寻欢索引数组索引数组,元素的值和下标不存在逻辑关系,而下标只表示值索引位置。键和值,同时向下移动指针获得元素信息,返回的是,关联和索引数组其中关联数组部分。 数组 数据由元素组成,元素由键和值组成 数组分类 关联数组关联数组,元素的下标与元素的值存在逻辑上的关系,称之为关联数组。指的是,键和值之间存在管理。 $a1 = array(name => 李寻欢, age => 34); ...

    zone 评论0 收藏0
  • PHP array_merge 详解

    摘要:如果输入的数组中有相同的字符串键名,则该键名后面的值将覆盖前一个值。语法很简单,返回值是合并后的数组并不总是你所期望的返回值。如下会产生一条,并且的返回值会是。要注意的是参数为怎么处理。 导语 array_merge 这个函数很实用,也很常用,但是它有一些特性,不注意的话就会造成麻烦。前几天修改同事代码的时候,就出现了这种问题,所以查些资料写下来。 定义与语法 array array_...

    darcrand 评论0 收藏0
  • Yii2开发技巧集合[不定期更新]

    摘要:内置过滤器集合参照的和的从参数上看,的只支持同时合并两个数组,而的则可以同时合并多个,似乎是的比较好用。如果这个索引还会被用于输入的话比如下拉选项,数据就会出错。而的就是简单合并,不会重整索引。 Yii内置过滤器集合 参照 http://www.yiiframework.com/doc-2.0/yii-validators-validator.html#$builtInVali...

    wh469012917 评论0 收藏0

发表评论

0条评论

Jochen

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<