PHP中很重要的一個數(shù)據(jù)結(jié)構(gòu)就是數(shù)組,當(dāng)然通過數(shù)據(jù)可以實(shí)現(xiàn)N多種的效果,
近期的laravel項目中需要用到這么一個東西。

Paste_Image.png
實(shí)現(xiàn)的機(jī)制就是需要取得這個arr1與arr2按照mid做一次合并操作。
由于事先已經(jīng)不兩個數(shù)組的順序,key的數(shù)量都已經(jīng)做了相應(yīng)的處理,所以基本可以直接來寫代碼就行了

Paste_Image.png
這樣我們就能夠得到一個想要的數(shù)組了,由于使用了雙重foreach循環(huán)所以CPU的消耗還是比較大的,內(nèi)存的話一個在函數(shù)的末尾加入一個斷開變量的unset處理一下,注意這個unset不直接銷毀變量和內(nèi)存,其中底層的處理還是在PHP中進(jìn)行的,也就是說PHP做了底層的東西,大概就是你的內(nèi)存達(dá)到256字節(jié)的時候才做一次銷毀。
第二方式

Paste_Image.png
array_merge()這個php函數(shù)的方法解釋就是說把兩個數(shù)組做合并,并且相同的KEY元素就覆蓋前面的一個數(shù)組的值。其實(shí)和第一種差不多。
Array
(
[0] => Array
(
[mid] => 1111
[cflg] => 2222
[cid] => 3333
)
[1] => Array
(
[mid] => 222
[cflg] => 4444
[cid] => 5555
)
)