小编给大家分享一下PHP中使用+号连接数组的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!
我们在开发中,有时候会将两个数组合并连接起来,这个时候要注意了,千万不要偷懒直接使用+号哦,为什么呢?我们看看以下代码:
$a = [1, 2]; $b = [4, 5, 6]; $c = $a + $b; print_r($c);
请用第一直接告诉我它的结果是什么?或许我这么问你应该能猜到,它的结果是:
Array ( [0] => 1 [1] => 2 [2] => 6 )
看出来了吧,用+号操作符连接的数组,结果取的是并集。也就是根据键,相同键的不会覆盖,没有键加入进来形成一个新数组。并不是将两个数组真的加起来。
如果我们用$b+$a呢?那么结果就是$b的内容。
$c = $b + $a; print_r($c); Array ( [0] => 4 [1] => 5 [2] => 6 )
那么我们要获得1,2,4,5,6这样一个数组要怎么办呢?没错,使用array_merge()函数,请注意数组Key的位置:
$c = array_merge($a, $b); print_r($c); Array ( [0] => 1 [1] => 2 [2] => 4 [3] => 5 [4] => 6 ) $c = array_merge($b, $a); print_r($c); Array ( [0] => 4 [1] => 5 [2] => 6 [3] => 1 [4] => 2 )
如果是key/value形式的Hash数组呢?结果也是一样的,$a中没有键将合并过来,相同的键将不处理。
$a = ['a' => 1, 'b' => 2]; $b = ['a' => 4, 'b' => 5, 'c' => 6]; print_r($a+$b); Array ( [a] => 1 [b] => 2 [c] => 6 ) $c = array_merge($a, $b); print_r($c); $c = array_merge($b, $a); print_r($c); Array ( [a] => 1 [b] => 2 [c] => 6 ) Array ( [a] => 4 [b] => 5 [c] => 6 ) Array ( [a] => 1 [b] => 2 [c] => 6 )
上述Hash数组,使用array_merge()函数的结果和使用+号的结果是一样的,这是因为他们还是进行了键的对比。所以合并后的数组不会增加内容,如果是未定义下标的则会直接以数字下标添加进去。
最后,我们再试试.操作符的连接:
$c = $a . $b; print_r($c); ArrayArray
好吧,强转成string类型的字符串再拼接起来了,并无特别的意义。
以上是“PHP中使用+号连接数组的示例分析”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注亿速云行业资讯频道!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。