您好,登錄后才能下訂單哦!
這篇文章給大家分享的是有關php數組合并不覆蓋的方法的內容。小編覺得挺實用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。
php數組合并不覆蓋的方法:首先創建一個PHP示例文件;然后通過“array_merge($arr1, $arr2);”方法合并兩個數組并且不覆蓋相同鍵名即可。
本文操作環境:windows7系統、PHP7.1版,DELL G3電腦
php數組怎么合并不覆蓋?php合并數組并保留鍵值的方法
php合并數組,一般會使用array_merge方法。
array_merge — 合并一個或多個數組
array array_merge ( array $array1 [, array $... ] )
array_merge 將一個或多個數組的單元合并起來,一個數組中的值附加在前一個數組的后面,返回作為結果的數組。
如果輸入的數組中有相同的字符串鍵名,則該鍵名后面的值將覆蓋前一個值。然而,如果數組包含數字鍵名,后面的將不會覆蓋原來的值,而是附加到后面。
如果只給了一個數組并且該數組是數字索引的,則鍵名會以連續方式重新索引。
例子1,數組使用字符串鍵名,相同的鍵名會被后面的覆蓋
<?php $arr1 = array('name'=>'fdipzone'); $arr2 = array('name'=>'terry'); $result = array_merge($arr1, $arr2); print_r($result); ?>
輸出:
Array ( [name] => terry )
例子2,數組使用數字鍵名,鍵名相同不會覆蓋,且鍵名會重新索引
<?php $arr1 = array(0=>'fdipzone',1=>'terry'); $arr2 = array(0=>'php',1=>'python'); $result = array_merge($arr1, $arr2); print_r($result); ?>
輸出:
Array ( [0] => fdipzone [1] => terry [2] => php [3] => python )
因工作需要,需要將調查問卷的兩部分選擇題的答案合并一起,每部分答案為數組(key=>value),key為題號,value為答案,且兩部分的題號不存在重復。
使用array_merge合并兩部分答案
<?php $form_data1 = array(11=>'A',12=>'B',13=>'C',14=>'D'); $form_data2 = array(25=>'B',26=>'A',27=>'D',28=>'C'); $result = array_merge($form_data1, $form_data2); print_r($result); ?>
輸出:
Array ( [0] => A [1] => B [2] => C [3] => D [4] => B [5] => A [6] => D [7] => C )
使用array_merge合并,因為題號(key)是數字,所以鍵名會重新索引,導致題號不能保留。
合并數組并保留鍵值的方法:
<?php $form_data1 = array(11=>'A',12=>'B',13=>'C',14=>'D'); $form_data2 = array(25=>'B',26=>'A',27=>'D',28=>'C'); $result = $form_data1 + $form_data2; print_r($result); ?>
輸出:
Array ( [11] => A [12] => B [13] => C [14] => D [25] => B [26] => A [27] => D [28] => C )
使用 “+” 運算符合并數組,可以保留數組的鍵值,如果合并的數組中含有相同的鍵值,后面的不會覆蓋前面的鍵值(前面的優先)。
感謝各位的閱讀!關于“php數組合并不覆蓋的方法”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,讓大家可以學到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。