首頁 >後端開發 >php教程 >實作php合併數組並保留鍵值有哪些方法?

實作php合併數組並保留鍵值有哪些方法?

php中世界最好的语言
php中世界最好的语言原創
2018-05-18 11:24:541655瀏覽

這次帶給大家實作php合併陣列並保留鍵值有哪些方法? ,實作php合併數組並保留鍵值的注意事項有哪些,以下就是實戰案例,一起來看一下。

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

array_merge — 合併一個或多個數組

array array_merge ( array $array1 [, array $... ] )

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

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

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

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

<?php
$arr1 = array(&#39;name&#39;=>'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中文網其它相關文章! ######推薦閱讀:#########php產生複雜驗證碼有哪些方法################PHP實作路由與類別自動載入步驟詳解##########

以上是實作php合併數組並保留鍵值有哪些方法?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn