php对数组进行合成的函数,php合并数组函数array_merge()
array_merge()函數(shù)在php中是對(duì)數(shù)組進(jìn)行合并的,可以把多個(gè)數(shù)組合成一個(gè)數(shù)組,并且不改變?cè)瓟?shù)組的值了,但今天我在使用array_merge合并數(shù)組時(shí)碰到幾個(gè)小細(xì)節(jié)上的問題,下面我舉例子給各位朋友看看
1.array_merge()合并$array = array('a'=>'bb');
$array2 = array('b'=>'cc');
$array3 = array_merge($array,$array2);
輸出結(jié)果為Array ( [a] => bb [b] => cc )
上面因?yàn)槎际菙?shù)組就沒有問題了,假如我們把$array 設(shè)置不是數(shù)組看看什么情況$array = 1;//array('a'=>'bb');
$array2 = array('b'=>'cc');
$array3 = array_merge($array,$array2);
print_r( $array3 );
運(yùn)行后結(jié)果Warning: array_merge() [function.array-merge]: Argument #1 is not an array in E:test1.php on (www.jb51.net)line 4
告訴我們必須是要一個(gè)數(shù)組了,那么這個(gè)我就有多種方法來解決,
1.使用is_array() 進(jìn)行判斷了,但是會(huì)發(fā)現(xiàn)如果合并數(shù)組比較多一個(gè)個(gè)判斷不合理,后來發(fā)現(xiàn)可以轉(zhuǎn)換數(shù)據(jù)類$array = 1;//array('a'=>'bb');
$array2 = array('b'=>'cc');
$array3 = array_merge((array)$array,(array)$array2);
print_r( $array3 );
輸出結(jié)果不報(bào)錯(cuò)了
Array ( [0] => 1 [b] => cc )
他自動(dòng)把數(shù)字1轉(zhuǎn)換成了數(shù)組了,所以大家在使用時(shí)一定要注意這些細(xì)節(jié)哦。
把兩個(gè)數(shù)組合并為一個(gè)數(shù)組:<?php $a1=array("a"=>"red","b"=>"green");$a2=array("c"=>"blue","b"=>"yellow");print_r(array_merge($a1,$a2));?>
定義和用法
array_merge() 函數(shù)用于把一個(gè)或多個(gè)數(shù)組合并為一個(gè)數(shù)組。
提示:您可以向函數(shù)輸入一個(gè)或者多個(gè)數(shù)組。
注釋:如果兩個(gè)或更多個(gè)數(shù)組元素有相同的鍵名,則最后的元素會(huì)覆蓋其他元素。
注釋:如果您僅僅向 array_merge() 函數(shù)輸入一個(gè)數(shù)組,且鍵名是整數(shù),則該函數(shù)將返回帶有整數(shù)鍵名的新數(shù)組,其鍵名以 0 開始進(jìn)行重新索引(參見下面的實(shí)例 1)。
提示:該函數(shù)與 array_merge_recursive() 函數(shù)之間的不同是在處理兩個(gè)或更多個(gè)數(shù)組元素有相同的鍵名的情況。array_merge_recursive() 不會(huì)進(jìn)行鍵名覆蓋,而是將多個(gè)相同鍵名的值遞歸組成一個(gè)數(shù)組。
語法array_merge(array1,array2,array3...)
array1 必需。規(guī)定數(shù)組。
array2 可選。規(guī)定數(shù)組。
array3 可選。規(guī)定數(shù)組。
返回合并的數(shù)組。
僅使用一個(gè)帶有整數(shù)鍵名的參數(shù):<?php $a=array(3=>"red",4=>"green");print_r(array_merge($a));?>
總結(jié)
以上是生活随笔為你收集整理的php对数组进行合成的函数,php合并数组函数array_merge()的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 国防科技大学计算机学院教员,我国最好的四
- 下一篇: php获取页面中的指定内容,php 获取