Der Hauptunterschied besteht darin, dass, wenn derselbe Schlüsselname in zwei oder mehr Arrays erscheint, der Schlüsselname in eine Zeichenfolge oder eine Zahl unterteilt wird. Es sollte beachtet werden, dass
1) Wenn der Schlüsselname ist Wenn Sie eine Zahl eingeben, wird array_merge() den ursprünglichen Wert nicht überschreiben, aber + das Array zusammenführen wird den ersten Wert als Endergebnis zurückgeben und diese Werte mit demselben Schlüsselnamen in den nachfolgenden Arrays „wegwerfen“. nicht überschreiben)
2) Wenn der Schlüsselname ein Zeichen ist, gibt + immer noch den ersten Wert als Endergebnis zurück und „verwirft“ diese Werte in den nachfolgenden Arrays mit demselben Schlüsselnamen, aber array_merge () überschreibt die vorherigen Werte mit demselben Schlüsselnamen. Wert
Beachten Sie, dass die Array-Schlüsselform „Zahl“ dem Ergebnis „Zahl“
$a = array('a','b'); $b = array('c', 'd'); $c = $a + $b; var_dump($a); var_dump(array_merge($a, $b)); $a = array(0 => 'a', 1 => 'b'); $b = array(0 => 'c', 1 => 'b'); $c = $a + $b; var_dump($c); var_dump(array_merge($a, $b)); $a = array('a', 'b'); $b = array('0' => 'c', 1 => 'b'); $c = $a + $b; var_dump($c); var_dump(array_merge($a, $b)); $a = array(0 => 'a', 1 => 'b'); $b = array('0' => 'c', '1' => 'b'); $c = $a + $b; var_dump($c); var_dump(array_merge($a, $b));
entspricht >
array 0 => string 'a' (length=1) 1 => string 'b' (length=1) 2 => string 'c' (length=1) 3 => string 'd' (length=1) array 0 => string 'a' (length=1) 1 => string 'b' (length=1) array 0 => string 'a' (length=1) 1 => string 'b' (length=1) 2 => string 'c' (length=1) 3 => string 'b' (length=1) array 0 => string 'a' (length=1) 1 => string 'b' (length=1) array 0 => string 'a' (length=1) 1 => string 'b' (length=1) 2 => string 'c' (length=1) 3 => string 'b' (length=1) array 0 => string 'a' (length=1) 1 => string 'b' (length=1) array 0 => string 'a' (length=1) 1 => string 'b' (length=1) 2 => string 'c' (length=1) 3 => string 'b' (length=1)