$test = array('hi');
$test += array('test','oh');
var_dump($test);
+
PHP dizisi için ne anlama geliyor?
Bu temelde anlamına gelir array_merge()
, with the difference that duplicate keys will not . This can array_merge
olsa, örneğin, oldukça farklı görünüyor yazılır
$array1 = array('one', 'two', 'foo' => 'bar');
$array2 = array('three', 'four', 'five', 'foo' => 'baz');
$array3 = $array1 + $array2;
print_r($array3);
print_r(array_merge($array1, $array2));
çıkışlar:
Array
(
[0] => one // preserved from $array1
[1] => two // preserved from $array1
[foo] => bar // preserved from $array1
[2] => five // added from $array2
)
Array
(
[0] => one // preserved from $array1
[1] => two // preserved from $array1
[foo] => baz // overwritten from $array2
[2] => three // appended from $array2
[3] => four // appended from $array2
[4] => five // appended from $array2
)
Daha fazla örnek için bağlı sayfaya bakınız.
Çoğaltılamaz tuşları üzerine DEĞİLDİR ise + operatörü, teslim sola sağ elini diziden kalan tuşları öğeleri ekler.
<?php
$a = array("a" => "apple", "b" => "banana");
$b = array("a" => "pear", "b" => "strawberry", "c" => "cherry");
$c = $a + $b; // Union of $a and $b
echo "Union of \$a and \$b: \n";
var_dump($c);
$c = $b + $a; // Union of $b and $a
echo "Union of \$b and \$a: \n";
var_dump($c);
?>
Çalıştırıldığında, bu komut aşağıdaki basacaktır:
Union of $a and $b: array(3) { ["a"]=> string(5) "apple" ["b"]=> string(6) "banana" ["c"]=> string(6) "cherry" } Union of $b and $a: array(3) { ["a"]=> string(4) "pear" ["b"]=> string(10) "strawberry" ["c"]=> string(6) "cherry" }
tam değil gibi array_merge
Diziler için artı işareti '+' tek boyutludur ve basit diziler için uygundur unutmayın.
Daha fazla okuyun:
http://www.vancelucas.com/blog/php-array_merge-preserving-numeric-keys/
(Array_merge yinelenen anahtarlar üzerine yazılır ile haricinde array_merge aynı) Bu operatör iki diziler birliği alır.
Dizi operatörleri için belgeleri bulunur here.
Ben bu kullanmak için bulunan en iyi örnek bir yapılandırma dizi olduğunu.
$user_vars = array("username"=>"John Doe");
$default_vars = array("username"=>"Unknown", "email"=>"no-reply@domain.com");
$config = $user_vars + $default_vars;
The $default_vars, as it suggests, is the array for default values. The $user_vars array will overwrite the values defined in $default_vars. Any missing values in $user_vars are now the defaults vars from $default_vars.
Bu print_r gibi:
Array(2){
"username" => "John Doe",
"email" => "no-reply@domain.com"
}
Bu yardımcı olur umarım!
Bir şey gevşek istemiyorsanız onlar korunmuş olmalıdır eğer, sayısal tuşları ile dikkatli veya
$a = array(2 => "a2", 4 => "a4", 5 => "a5");
$b = array(1 => "b1", 3 => "b3", 4 => "b4");
sendika
print_r($a+$b);
Array
(
[2] => a2
[4] => a4
[5] => a5
[1] => b1
[3] => b3
)
birleşmek
print_r(array_birleşmek($a, $b));
Array
(
[0] => a2
[1] => a4
[2] => a5
[3] => b1
[4] => b3
[5] => b4
)
+
operatörü array_replace() olarak aynı sonuçları üretir. Bununla birlikte, operatör değişkenleri tersine olduğundan, sonuçta elde edilen dizinin sipariş da farklı olabilir.
Bu sayfadan başka bir örnek üzerinde genişletilmesi:
$array1 = array('one', 'two', 'foo' => 'bar');
$array2 = array('three', 'four', 'five', 'foo' => 'baz');
print_r($array1 + $array2);
print_r(array_replace($array2, $array1)); //note reversed argument order
çıkışlar:
Array
(
[0] => one // preserved from $array1
[1] => two // preserved from $array1
[foo] => bar // preserved from $array1
[2] => five // added from $array2
)
Array
(
[0] => one // preserved from $array1
[1] => two // preserved from $array1
[2] => five // added from $array2
[foo] => bar // preserved from $array1
)