首頁 > 後端開發 > php教程 > php如何合併陣列並保留鍵值

php如何合併陣列並保留鍵值

PHPz
發布: 2018-10-23 14:40:36
轉載
1859 人瀏覽過

這篇文章主要介紹了php如何合併陣列並保留鍵值,有一定的參考價值,有興趣的朋友可以參考一下,希望對你有幫助! 

php合併數組,一般會使用array_merge方法。

array_merge — 合併一個或多個數組

array array_merge ( array $array1 [, array $... ] )
登入後複製

array_merge 將一個或多個數組的單元合併起來,一個數組中的值附加在前一個數組的後面,傳回作為結果的陣列。

如果輸入的陣列中有相同的字串鍵名,則該鍵名後面的值將覆蓋前一個值。然而,如果數組包含數字鍵名,後面的將不會覆蓋原來的值,而是附加到後面。

如果只給了一個陣列且該陣列是數字索引的,則鍵名會以連續方式重新索引。

範例1,陣列使用字串鍵名,相同的鍵名會被後面的覆蓋

<?php$arr1 = array(&#39;name&#39;=>&#39;fdipzone&#39;);$arr2 = array(&#39;name&#39;=>&#39;terry&#39;);$result = array_merge($arr1, $arr2);
print_r($result);?>
登入後複製

輸出:

Array(
    [name] => terry
)
登入後複製

範例2,陣列使用數字鍵名,鍵名相同不會覆蓋,且鍵名會重新索引

<?php$arr1 = array(0=>&#39;fdipzone&#39;,1=>&#39;terry&#39;);$arr2 = array(0=>&#39;php&#39;,1=>&#39;python&#39;);$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=>&#39;A&#39;,12=>&#39;B&#39;,13=>&#39;C&#39;,14=>&#39;D&#39;);$form_data2 = array(25=>&#39;B&#39;,26=>&#39;A&#39;,27=>&#39;D&#39;,28=>&#39;C&#39;);$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_mergege,因為問題號(key)是數字,所以鍵名會重新索引,導致題號不能保留。

<?php$form_data1 = array(11=>&#39;A&#39;,12=>&#39;B&#39;,13=>&#39;C&#39;,14=>&#39;D&#39;);$form_data2 = array(25=>&#39;B&#39;,26=>&#39;A&#39;,27=>&#39;D&#39;,28=>&#39;C&#39;);$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程式設計從入門到精通全套影片教學

相關標籤:
來源:csdn.net
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板