摘要:和號合并數組的區別先看栗子值覆蓋情況只考慮字符串索引的鍵值對用后邊數組的值覆蓋掉前面數組中鍵名相同的值數字索引的值則不覆蓋同時保留另外會重排兩個數組的數字索引則不會。
array_merge和+號合并數組的區別
先看栗子:
array_merge$a = [51 => 12345]; $b = [10 => 5678]; $c = []; $c = array_merge($c,$a,$b); // Array ( [0] => 12345 [1] => 5678 )
$a = [51 => 12345]; $b = [51 => 5678]; $c = []; $c = array_merge($c,$a,$b); print_r($c); // Array ( [0] => 12345 [1] => 5678 )
$a = ["aa" => 12345]; $b = ["aa" => 5678]; $c = []; $c = array_merge($c,$a,$b); print_r($c);// Array ( [aa] => 5678 )
值覆蓋情況: 只考慮字符串索引的鍵值對, 用后邊數組的值覆蓋掉前面數組中鍵名相同的值
數字索引的值則不覆蓋,同時保留
另外: array_merge()會重排兩個數組的數字索引,+則不會。
+號$a = [51 => 12345]; $b = [10 => 5678]; $c = []; $C = $a+$b; // Array ( [51] => 12345 [10] => 5678 )
$a = [51 => 12345]; $b = [51 => 5678]; $c = []; $c = $a+$b; print_r($c); // Array ( [51] => 12345 )
$a = ["aa" => 12345]; $b = ["aa" => 5678]; $c = []; $c = $a+$b; print_r($c);// Array ( [aa] => 12345 )
值覆蓋情況: 既考慮數字索引的鍵值對,也考慮字符串索引的鍵值對, 用前邊數組的值覆蓋后邊的鍵名相同的值.
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/28306.html
在PHP中可以使用array_merge函數和兩個數組相加array+array的方式進行數組合并,但兩者效果并不相同,下面為大家介紹兩者具體的使用區別. 區別如下: 1. 當下標為數值時,array_merge()不會覆蓋掉原來的值,但array+array合并數組則會把最先出現的值作為最終結果返回,而把后面的數組擁有相同鍵名的那些值拋棄掉(不是覆蓋). 2. 當下標為字符時,array+ar...
摘要:除法運算符總是返回浮點數。取模運算符的結果和被除數的符號正負號相同。使用位運算符時要特別注意優先級。太空船運算符組合比較符當小于等于大于時分別返回一個小于等于大于的值。遞增遞減運算符不影響布爾值。 一、算術運算符 1. 概覽 例子 名稱 結果 $a + $b 加法 $a 和 $b 的和。 $a - $b 減法 $a 和 $b 的差。 $a * $b 乘法 $a 和 ...
摘要:如果輸入的數組中有相同的字符串鍵名,則該鍵名后面的值將覆蓋前一個值。語法很簡單,返回值是合并后的數組并不總是你所期望的返回值。如下會產生一條,并且的返回值會是。要注意的是參數為怎么處理。 導語 array_merge 這個函數很實用,也很常用,但是它有一些特性,不注意的話就會造成麻煩。前幾天修改同事代碼的時候,就出現了這種問題,所以查些資料寫下來。 定義與語法 array array_...
摘要:內置過濾器集合參照的和的從參數上看,的只支持同時合并兩個數組,而的則可以同時合并多個,似乎是的比較好用。如果這個索引還會被用于輸入的話比如下拉選項,數據就會出錯。而的就是簡單合并,不會重整索引。 Yii內置過濾器集合 參照 http://www.yiiframework.com/doc-2.0/yii-validators-validator.html#$builtInVali...
閱讀 1863·2023-04-26 02:46
閱讀 1996·2021-11-25 09:43
閱讀 1140·2021-09-29 09:35
閱讀 2096·2019-08-30 15:56
閱讀 3419·2019-08-30 15:54
閱讀 2627·2019-08-29 16:35
閱讀 3116·2019-08-29 15:25
閱讀 3282·2019-08-29 14:01