PHP数组相加操作及与array_merge的区别浅析

yipeiwu_com6年前PHP代码库

发现问题

今天看到一段代码,是这么写的,感觉不熟悉,下面粘贴出来看看:

<?php
$array_one = [ 内容 ];
$array_two = [ 内容 ];
//关键的在这里
$array_result = $array_one + $array_two;
echo "<pre/>";
print_r($array_result);
?>

我感觉奇怪的地方,就是数组$array_one与数组$array_two直接进行相加操作,我之前进行数组合并操作都是按照array_merge()函数进行操作的,重来没有用到过上面的方式直接进行运算。

分析如下

下面就简单说明以下,这种方式与array_merge()函数的方式之间有什么区别。使用”+”号直接进行运算的时候,是以”+”号前面的数组为基准数组,如果”+”号后面的数组存在与前面的数组中完全一致的(完全一致指的是key相同并且value也相同的),就以前面数组中的数据为准。如果是使用array_merge()就相反,是以后面的数组为基准。

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流。

相关文章

PHP获得当日零点时间戳的方法分析

本文实例讲述了PHP获得当日零点时间戳的方法。分享给大家供大家参考,具体如下: 今天项目中,想每天看到的是当天的全部信息,所以想获得当天零点的时间戳,复习下时间戳的相关知识,总结如下:...

thinkphp中连接oracle时封装方法无法用的解决办法

thinkphp中连接oracle时封装方法无法用的解决办法

最近收集了一些关于THinkPHP连接Oracle数据库的问题,有很多朋友按照连接mysql的方法来操作,导致有一些方法在Oreale中无法正常使用。比如说:findAll,Select...

PHP中preg_match函数正则匹配的字符串长度问题

项目中,用preg_match正则提取目标内容,死活有问题,代码测得死去活来。 后来怀疑PHP 的preg_match有字符串长度限制,果然,发现“pcre.backtrack_limi...

php基于str_pad实现卡号不足位数自动补0的方法

自动补足空白位数在php中str_pad函数可以帮我们实现哦,str_pad() 函数把字符串填充为指定的长度。 str_pad() 函数把字符串填充为指定的长度。 语法 str_pad...

PHP中new static()与new self()的区别异同分析

本文实例讲述了PHP中new static()与new self()的区别异同,相信对于大家学习PHP程序设计能够带来一定的帮助。 问题的起因是本地搭建一个站。发现用PHP 5.2 搭建...