php保留索引值+合并數組詳解

來源:互聯網
上載者:User
這次給大家帶來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中文網其它相關文章!

推薦閱讀:

強制下載二維碼圖片

php怎麼操作格式檔案

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.