phparraymerge
㈠ php數組合並並保持兩個數組的鍵名都不變,array_merge會使鍵名發生變化,有其他函數嗎
鍵名如果都是唯一的.. 寫個循環來組一個新的數組就可以了:
$a = array("a" => "avalue", "b" => "bvalue");
$b = array("c" => "cvalue", "d" => "dvalue");
$c = array();
foreach( $a as $key=> $value ) {
$c[$key] = $value;
}
foreach( $b as $key=> $value ) {
$c[$key] = $value;
}
㈡ PHP兩個一維數組合並為二維數組
<?php
$arr1=array('足球','籃球');
$arr2=array('冰棒','雪糕');
//方法一:直接組合
$B=array($arr1,$arr2);
//方法二:鍵值組合
$C=array();
$C['運動項目']=$arr1;
$C['吃的']=$arr2;
//輸出看看
echo"<pre>";
print_r($B);
print_r($C);
//附加:當然,這兩個數組還可以在組合
$fujia=array();
$fujia['B方法']=$B;
$fujia['C方法']=$C;
echo"<hr/>";
print_r($fujia);
?>
㈢ PHP數組合並,有一個或者多個空數組,怎麼處理
需要將變數規定為數組,這樣寫:array_merge((array)$a,(array)$b,(array)$c,(array)$d);就可以了。
㈣ 在php中array_merge是什麼意思
array_merge() 將一個或多個數組的單元合並起來,一個數組中的值附加在前一個數組的後面。返回作為結果的數組。
如果輸入的數組中有相同的字元串鍵名,則該鍵名後面的值將覆蓋前一個值。然而,如果數組包含數字鍵名,後面的值將不會覆蓋原來的值,而是附加到後面。
如果只給了一個數組並且該數組是數字索引的,則鍵名會以連續方式重新索引。
㈤ PHP合並數組幾種方式總結
PHP 中的 array_merge()、array_merge_recursive()函數可以實現
array_merge() 函數把兩個或多個數組合並為一個數組。
如果鍵名有重復,該鍵的鍵值為最後一個鍵名對應的值(後面的覆蓋前面的)。如果數組是數字索引的,則鍵名會以連續方式重新索引。
注意:如果僅僅向 array_merge() 函數輸入了一個數組,且鍵名是整數,則該函數將返回帶有整數鍵名的新數組,其鍵名以 0 開始進行重新索引。
array_merge(array1,array2,array3...)
參數說明
array1 必需。輸入的第一個數組。
array2 必需。輸入的第二個數組。
array3 可選。可指定的多個輸入數組。
例如:
<?php
$a1=array("a"=>"Horse","b"=>"Dog");
$a2=array("c"=>"Cow","b"=>"Cat");
print_r(array_merge($a1,$a2));
?>
輸出:
Array ( [a] => Horse [b] => Cat [c] => Cow )
僅使用一個數組參數:
<?php
$a=array(3=>"Horse",4=>"Dog");
print_r(array_merge($a));
?>
輸出:
Array ( [0] => Horse [1] => Dog )
array_merge_recursive() 函數與array_merge()函數不同的是,當有重復的鍵名時,值不會被覆蓋,而是將多個相同鍵名的值遞歸組成一個數組。
例如:
<?php
$a1=array("a"=>"Horse","b"=>"Dog");
$a2=array("c"=>"Cow","b"=>"Cat");
print_r(array_merge_recursive($a1,$a2));
?>
輸出:
Array (
[a] => Horse
[b] => Array ( [0] => Dog [1] => Cat )
[c] => Cow
)
㈥ php中如何將從資料庫查詢的幾個數組放到一個新的數組中
php自帶數組合並函數$arr = array_merge($arr1, $arr2, $arrc);
array_merge語法:array_merge(array1,array2,array3...)
㈦ php數組合並array_merge()函數使用注意事項
1.array_merge()合並
例子
代碼如下
$array
=
array('a'=>'bb');
$array2
=
array('b'=>'cc');
$array3
=
array_merge($array,$array2);
輸出結果為
Array
(
[a]
=>
bb
[b]
=>
cc
)
上面因為都是數組就沒有問題了,假如我們把$array
設置不是數組看看什麼情況
代碼如下
$array
=
1;//array('a'=>'bb');
$array2
=
array('b'=>'cc');
$array3
=
array_merge($array,$array2);
print_r(
$array3
);
運行後結果
Warning:
array_merge()
[function.array-merge]:
Argument
#1
is
not
an
array
in
E:test1.php
on
line
4
告訴我們必須是要一個數組了,那麼這個我就有多種方法來解決,
1.使用is_array()
進行判斷了,但是會發現如果合並數組比較多一個個判斷不合理,後來發現可以轉換數據類型
代碼如下
$array
=
1;//array('a'=>'bb');
$array2
=
array('b'=>'cc');
$array3
=
array_merge((array)$array,(array)$array2);
print_r(
$array3
);
輸出結果不報錯了
Array
(
[0]
=>
1
[b]
=>
cc
)
他自動把數字1轉換成了數組了,所以大家在使用時一定要注意這些細節哦。
㈧ PHP 一個數組中 根據某個相同的值 將不同的值重組一個新數組
例子:
復制代碼 代碼如下:
<?php
$array1 = array("color" => "red", 2, 4);
$array2 = array("a", "b", "color" => "green", "shape" => "trapezoid", 4);
$result = array_merge($array1, $array2);
print_r($result);
?>
上例將輸出:
復制代碼 代碼如下:
Array
(
[color] => green
[0] => 2
[1] => 4
[2] => a
[3] => b
[shape] => trapezoid
[4] => 4
)
㈨ PHP注冊的時候,剛開始提示array_merge數據沒定義。後面又提示30行有錯誤,到底哪裡出錯了
請貼出圖,否則怎麼可能回答你