当前位置:Gxlcms > PHP教程 > PHP数组相加和array_merge的区别

PHP数组相加和array_merge的区别

时间:2021-07-01 10:21:17 帮助过:22人阅读

PHP数组处理强大的功能导致了各种数据处理函数。

其中数组相加以及array_merge让笔者踩了个小坑。

一、请看demo1:

  1. public function action_test54(){
  2. $a = array(
  3. '0'=>1567,
  4. '1'=>1568,
  5. '2'=>1569,
  6. '3'=>1570,
  7. );
  8. $b = array(
  9. '1'=>1571,
  10. '2'=>1572,
  11. '3'=>1573,
  12. '4'=>1574
  13. );
  14. d($a + $b);
  15. dd(array_merge($a,$b));
  16. }

demo1输出:

  1. <small>array</small>(5) (
  2. 0 => <small>integer</small> 1567
  3. 1 => <small>integer</small> 1568
  4. 2 => <small>integer</small> 1569
  5. 3 => <small>integer</small> 1570
  6. 4 => <small>integer</small> 1574
  7. )
  1. <small>array</small>(8) (
  2. 0 => <small>integer</small> 1567
  3. 1 => <small>integer</small> 1568
  4. 2 => <small>integer</small> 1569
  5. 3 => <small>integer</small> 1570
  6. 4 => <small>integer</small> 1571
  7. 5 => <small>integer</small> 1572
  8. 6 => <small>integer</small> 1573
  9. 7 => <small>integer</small> 1574
  10. )

结论:

$a + $b 增量覆盖

array_merge($a,$b) 合并

二、Demo2

  1. public function action_test54(){
  2. $a = array(
  3. 'a'=>1567,
  4. 'b'=>1568,
  5. 'c'=>1569,
  6. 'd'=>1570,
  7. );
  8. $b = array(
  9. 'b'=>1571,
  10. 'c'=>1572,
  11. 'd'=>1573,
  12. 'e'=>1574
  13. );
  14. d($a + $b);
  15. dd(array_merge($a,$b));
  16. }

Demo2输出:

  1. <small>array</small>(5) (
  2. "a" => <small>integer</small> 1567
  3. "b" => <small>integer</small> 1568
  4. "c" => <small>integer</small> 1569
  5. "d" => <small>integer</small> 1570
  6. "e" => <small>integer</small> 1574
  7. )
  1. <small>array</small>(5) (
  2. "a" => <small>integer</small> 1567
  3. "b" => <small>integer</small> 1571
  4. "c" => <small>integer</small> 1572
  5. "d" => <small>integer</small> 1573
  6. "e" => <small>integer</small> 1574
  7. )

结论:

$a + $b 增量覆盖

array_merger($a,$b) $b优先替换掉$a


以上就介绍了PHP 数组相加和array_merge的区别,包括了方面的内容,希望对PHP教程有兴趣的朋友有所帮助。

人气教程排行