2010-06-29 134 views
1

可能重複:
+ operator for array in PHP?

如果$a$b都是陣列,什麼是$a + $b結果呢?

+8

當然,你可以crrate測試腳本,找出..爲什麼這個問題嗎? – Lizard 2010-06-29 15:35:05

+1

[PHP中的數組運算符?]的副本(http://stackoverflow.com/questions/2140090/operator-for-array-in-php) – Gordon 2010-06-29 15:39:15

+0

http://www.electrictoolbox.com/using-plus- merge-arrays-php/ – 2010-06-29 15:42:33

回答

5
<?php 

$a = array(1, 2, 3); 
$b = array(4, 5, 6); 
$c = $a + $b; 

print_r($c); 

導致這對我來說:

Array 
(
    [0] => 1 
    [1] => 2 
    [2] => 3 
) 

但是:

<?php 

$a = array('a' => 1, 'b' => 2, 'c' => 3); 
$b = array('d' => 4, 'e' => 5, 'f' => 6); 
$c = $a + $b; 

print_r($c); 

結果:

Array 
(
    [a] => 1 
    [b] => 2 
    [c] => 3 
    [d] => 4 
    [e] => 5 
    [f] => 6 
) 

所以這樣看來,答案在這裏取決於如何 你的數組是鍵控的。

+1

我剛剛做了*完全相同的變量名稱,值和函數(在編輯之前);) – 2010-06-29 15:38:07

1

我的測試

$ar1 = array('1', '2'); 
$ar2 = array('3', '4'); 
$test = $ar1 + $ar2; 
print_r($test); 

Array 
(
    [0] => 1 
    [1] => 2 
) 
-2

如果你這樣做$result = $a + $b;然後$result將被分配到的第一個參數,在這種情況下$a

+0

如果$ a和$ b是鍵控數組,則不會。 – ceejayoz 2010-06-29 15:39:29

+1

建議你更深入地觀察一下這個Evernoob,這個行爲並不像你說的那樣簡單 – 2010-06-29 15:40:29

1

現在試試這個實驗

$a = array(0 => 1, 
      1 => 2, 
      4 => 3 
     ); 
$b = array(2 => 4, 
      4 => 5, 
      6 => 6 
     ); 
$c = $a + $b; 

var_dump($c); 
相關問題