最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

php如何實(shí)現(xiàn)數(shù)組合并但鍵值相同的數(shù)組不互相覆蓋?文末有驚喜哦~~~

2023-08-20 14:22 作者:歡喜姑娘a  | 我要投稿

一、PHP數(shù)組基礎(chǔ)

(一)、key

1. key只能為integer或string,可同時存在;

2. 包含合法整型值的字符串key會被轉(zhuǎn)化為整型存儲,如:‘7’的key會被轉(zhuǎn)化為7存儲;

3. 布爾值key會被轉(zhuǎn)化為整型存儲,true會被轉(zhuǎn)化為1存儲,false會被轉(zhuǎn)化為0存儲;

4. null會被轉(zhuǎn)化為空串(‘’)存儲;

5. 如果多個key值被轉(zhuǎn)化為相同的值,則只使用最后一個,前面的被覆蓋,如:一個數(shù)組中依次定義了‘1’、true、1的key,則最后只會存儲key為1的value,之前的值都會被覆蓋掉;

6. 如果未指定key,則會被自動設(shè)定為之前用過的最大的整型key+1,最小為0;

(二)、value

可以為PHP任意類型(字符串、整型、浮點(diǎn)型、布爾型、對象、數(shù)組、null、資源類型);

(三)、其他類型轉(zhuǎn)化為數(shù)組類型

1. integer、string、float、boolean、resource類型轉(zhuǎn)化為數(shù)組類型時,會被自動分配key為0,value為其原值;

2. object類型轉(zhuǎn)化為數(shù)組類型時,成員變量名會作為數(shù)組key,私有屬性的key會加上類名前綴,保護(hù)屬性的key會加上‘*’前綴,成員變量的值作為value;

3. null會被轉(zhuǎn)化為空數(shù)組;

(四)、foreach

1. 兩種形式,foreach(arr as $key => $value)與foreach(arr as $value),其中value是值傳遞,使用&value是引用傳遞;

2. 遍歷依賴數(shù)組內(nèi)部指針;

3. 遍歷結(jié)束后,value會被保留(在遍歷外能夠獲取到最后value的值),為防止在多次foreach時出現(xiàn)問題,可以在一次foreach后unset($value)或使用不同的變量;

二、三種數(shù)組合并方式

目前工作中接觸到的PHP數(shù)組合并方式主要有三種:

1、+操作符;

2、array_merge();

3、array_merge_recursive();

它們的區(qū)別主要體現(xiàn)在對于相關(guān)鍵名(數(shù)字鍵名、字符串鍵名)的處理方式,下面以兩個實(shí)際例子來提現(xiàn):

(一)、相同數(shù)字鍵名


<?php $arrFirst = [ ? ?111 => "first", ? ?222 => "first", ? ?"first" //會指定默認(rèn)的數(shù)字鍵223 ]; $arrSecond = [ ? ?111 => "second", ? ?333 => "second", ? ?"second" //會指定默認(rèn)的數(shù)字鍵334 ]; //對于重復(fù)的數(shù)字鍵,+操作后,前面數(shù)組的鍵值會覆蓋后面的,保留之前數(shù)字鍵 var_dump("array + result:", $arrFirst + $arrSecond); //對于重復(fù)的數(shù)字鍵,array_merge后,重排數(shù)字鍵(字符串鍵不變),不會覆蓋 var_dump("array_merge result:", array_merge($arrFirst, $arrSecond)); //對于重復(fù)的數(shù)字鍵,array_merge_recursive后,重排數(shù)字鍵(字符串鍵不變),不會覆蓋 var_dump("array_merge_recursive result:", array_merge_recursive($arrFirst, $arrSecond)); ?>


運(yùn)行結(jié)果:


編輯

(二)、相同字符串鍵


<?php $arrFirst = [ ? ?"first_key" ?=> 1, ? ?"second_key" => 1, ? ?"third_key" ?=> 1, ]; $arrSecond = [ ? ?"first_key" ?=> 2, ? ?"second_key" => 2, ? ?"fourth_key" => 2, ]; //對于重復(fù)的字符串鍵,+操作后,前面數(shù)組的鍵值會覆蓋后面的 var_dump("array + result:", $arrFirst + $arrSecond); //對于重復(fù)的字符串鍵,array_merge后,后面數(shù)組的鍵值會覆蓋前面的 var_dump("array_merge result:", array_merge($arrFirst, $arrSecond)); //對于重復(fù)的字符串鍵,array_merge_recursive后,相同鍵名的鍵值會被合并到同一數(shù)組中(會遞歸) var_dump("array_merge_recursive result:", array_merge_recursive($arrFirst, $arrSecond)); ?>

運(yùn)行結(jié)果:



這里有一份?JetBrains 的激活方法,有需要的來取了!

鏈接:https://pan.baidu.com/s/1jxvnKgTsTbkVmjcPGeTm0g

提取碼:2cg8



php如何實(shí)現(xiàn)數(shù)組合并但鍵值相同的數(shù)組不互相覆蓋?文末有驚喜哦~~~的評論 (共 條)

分享到微博請遵守國家法律
广南县| 志丹县| 永寿县| 汝阳县| 健康| 墨脱县| 曲阳县| 寿阳县| 尚志市| 溧水县| 安达市| 阳泉市| 阜南县| 涿州市| 南投市| 镇坪县| 县级市| 郯城县| 嘉兴市| 墨玉县| 临沧市| 南昌市| 怀安县| 老河口市| 沛县| 阿勒泰市| 青川县| 牡丹江市| 华阴市| 民和| 虞城县| 平乡县| 东光县| 中山市| SHOW| 宜昌市| 高尔夫| 保亭| 双鸭山市| 四平市| 太湖县|