php合并數(shù)組并保留鍵值的實(shí)現(xiàn)方法
php合并數(shù)組,一般會(huì)使用array_merge方法。
array_merge — 合并一個(gè)或多個(gè)數(shù)組
array array_merge ( array $array1 [, array $... ] )
array_merge 將一個(gè)或多個(gè)數(shù)組的單元合并起來(lái),一個(gè)數(shù)組中的值附加在前一個(gè)數(shù)組的后面,返回作為結(jié)果的數(shù)組。
如果輸入的數(shù)組中有相同的字符串鍵名,則該鍵名后面的值將覆蓋前一個(gè)值。然而,如果數(shù)組包含數(shù)字鍵名,后面的將不會(huì)覆蓋原來(lái)的值,而是附加到后面。
如果只給了一個(gè)數(shù)組并且該數(shù)組是數(shù)字索引的,則鍵名會(huì)以連續(xù)方式重新索引。
例子1,數(shù)組使用字符串鍵名,相同的鍵名會(huì)被后面的覆蓋
<?php $arr1 = array('name'=>'fdipzone'); $arr2 = array('name'=>'terry'); $result = array_merge($arr1, $arr2); print_r($result); ?>
輸出:
Array ( [name] => terry )
例子2,數(shù)組使用數(shù)字鍵名,鍵名相同不會(huì)覆蓋,且鍵名會(huì)重新索引
<?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 )
因工作需要,需要將調(diào)查問(wèn)卷的兩部分選擇題的答案合并一起,每部分答案為數(shù)組(key=>value),key為題號(hào),value為答案,且兩部分的題號(hào)不存在重復(fù)。
使用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合并,因?yàn)轭}號(hào)(key)是數(shù)字,所以鍵名會(huì)重新索引,導(dǎo)致題號(hào)不能保留。
合并數(shù)組并保留鍵值的方法:
<?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 )
使用 “+” 運(yùn)算符合并數(shù)組,可以保留數(shù)組的鍵值,如果合并的數(shù)組中含有相同的鍵值,后面的不會(huì)覆蓋前面的鍵值(前面的優(yōu)先)。
以上這篇php合并數(shù)組并保留鍵值的實(shí)現(xiàn)方法就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
- PHP中數(shù)組合并的兩種方法及區(qū)別介紹
- php下將多個(gè)數(shù)組合并成一個(gè)數(shù)組的方法與實(shí)例代碼
- php 數(shù)組的合并、拆分、區(qū)別取值函數(shù)集
- php二維數(shù)組合并及去重復(fù)的方法
- php數(shù)組實(shí)現(xiàn)根據(jù)某個(gè)鍵值將相同鍵值合并生成新二維數(shù)組的方法
- PHP合并兩個(gè)或多個(gè)數(shù)組的方法
- php 操作數(shù)組(合并,拆分,追加,查找,刪除等)
- php通過(guò)array_merge()函數(shù)合并兩個(gè)數(shù)組的方法
- php數(shù)組合并array_merge()函數(shù)使用注意事項(xiàng)
- php合并數(shù)組array_merge函數(shù)運(yùn)算符加號(hào)與的區(qū)別
- PHP實(shí)現(xiàn)數(shù)組根據(jù)某個(gè)字段進(jìn)行水平合并,橫向合并案例分析
相關(guān)文章
ThinkPHP5.0多個(gè)文件上傳后找不到臨時(shí)文件的修改方法
這篇文章主要介紹了ThinkPHP5.0多個(gè)文件上傳后找不到臨時(shí)文件的修改方法,需要的朋友可以參考下2018-07-07php使用curl發(fā)送json格式數(shù)據(jù)實(shí)例
這篇文章主要介紹了php使用curl發(fā)送json格式數(shù)據(jù)的實(shí)例,大家參考使用吧2013-12-12Laravel 5框架學(xué)習(xí)之Eloquent 關(guān)系
Eloquent是Laravel的原始ActiveRecord是實(shí)現(xiàn)的,建立在Laravel的Fluent Query Builder之上的,所以Eloquent類和Fluent類是一樣的,能實(shí)現(xiàn)復(fù)雜的SQL語(yǔ)句和非常直觀表達(dá)出的表與表之間的關(guān)系2015-04-04laravel5.2實(shí)現(xiàn)區(qū)分前后臺(tái)用戶登錄的方法
這篇文章主要介紹了laravel5.2實(shí)現(xiàn)區(qū)分前后臺(tái)用戶登錄的方法,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下2017-01-01ThinkPHP框架實(shí)現(xiàn)session跨域問(wèn)題的解決方法
這篇文章主要介紹了ThinkPHP框架實(shí)現(xiàn)session跨域問(wèn)題的解決方法,需要的朋友可以參考下2014-07-07php二維數(shù)組按某個(gè)鍵值排序的實(shí)例講解
今天小編就為大家分享一篇關(guān)于php二維數(shù)組按某個(gè)鍵值排序的實(shí)例講解,小編覺(jué)得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧2019-02-02PHP實(shí)現(xiàn)四種基礎(chǔ)排序算法的運(yùn)行時(shí)間比較(推薦)
本文給大家介紹PHP實(shí)現(xiàn)四種基礎(chǔ)排序算法的運(yùn)行時(shí)間比較,非常不錯(cuò),具有參考借鑒價(jià)值,感興趣的朋友一起看下吧2016-08-08