PHP數組合并的方法

來源:互聯網
上載者:User
PHP中數組合并的兩種方法及區別介紹,需要的朋友可以參考下

PHP數組合并兩種方法及區別
如果是關聯陣列,如下:

複製代碼 代碼如下:


$a = array(
'where' => 'uid=1',
'order' => 'uid',
);
$b = array(
'where' => 'uid=2',
'order' => 'uid desc',
);



1. array_merge,如果兩個數組存在相同的key,後面的一個會覆蓋前面的

複製代碼 代碼如下:


<?php
$c = array_merge($a, $b);
var_export($c);//結果與原來的$b相同
$d = array_merge($b, $a);
var_export($d);//結果與原來的$a相同


2. "+"操作符,如果兩個數組存在相同的key,前面的一個會覆蓋後面的

複製代碼 代碼如下:


<?php
$c = $a + $b;
var_export($c);//結果與原來的$a相同
$d = $b + $a;
var_export($d);//結果與原來的$b相同



如果是數字索引數組,如下:

複製代碼 代碼如下:


$a = array(
1 => '1111111',
2 => '222222222'
);
$b = array(
4 => '33333333333',
1 => '444444444'
);


1. array_merge. 效果類似代碼foreach每個數組元素,然後將每個元素壓入一個新堆棧當中

複製代碼 代碼如下:


<?php
$c = array_merge($a, $b);
var_export($c);
$d = array_merge($b, $a);
var_export($d);


輸出:
array (
0 => '1111111',
1 => '222222222',
2 => '33333333333',
3 => '444444444',
)
array (
0 => '33333333333',
1 => '444444444',
2 => '1111111',
3 => '222222222',
)
2. "+"操作符. 效果類似代碼foreach每個數組元素,然後將每個元素壓入一個新堆棧當中,如果同樣的key已經存在則不處理

複製代碼 代碼如下:


<?php
$c = $a + $b;
var_export($c);
$d = $b + $a;
var_export($d);


輸出:
array (
1 => '1111111',
2 => '222222222',
4 => '33333333333',
)
array (
4 => '33333333333',
1 => '444444444',
2 => '222222222',
)

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.