㈠ php 兩個普通數組合並為一個普通數組
php兩個普通數組合並為一個普通數組可以參考下面的代碼:
<?php
$a=array(1,2,3,4,5);
$b=array(6,7,8,9,10);
$c=array_merge($a,$b);
print_r($c);
?>
註:當被合並的數組中有一個數組為空時,可能會出現合並後的數組也為空。
(1)php合並兩個數組值擴展閱讀:
PHP常用函數
printf()函數輸出格式化的字元串。
print()函數輸出一個或多個字元串。
parse_str()函數把查詢字元串解析到變數中。
ord() 函數返回字元串第一個字元的 ASCII 值。
number_format()函數通過千位分組來格式化數字。
nl2br()函數在字元串中的每個新行 ( ) 之前插入 HTML 換行符 (<br />)。
nl_langinfo()函數返回指定的本地信息。
㈡ php 兩個數組怎麼合並成一個
arrayarray_merge(array$array1[,array$...])
array_merge() 將一個或多個數組的單元合並起來,一個數組中的值附加在前一個數組的後面。返回作為結果的數組。
如果輸入的數組中有相同的字元串鍵名,則該鍵名後面的值將覆蓋前一個值。然而,如果數組包含數字鍵名,後面的值將不會覆蓋原來的值,而是附加到後面。
如果只給了一個數組並且該數組是數字索引的,則鍵名會以連續方式重新索引。
如果你想完全保留原有數組並只想新的數組附加到後面,用 + 運算符:
<?php
$array1=array(0=>'zero_a',2=>'two_a',3=>'three_a');
$array2=array(1=>'one_b',3=>'three_b',4=>'four_b');
$result=$array1+$array2;
var_mp($result);
?>
㈢ 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數組合並兩個數組(一個數組做鍵名,另一個做值)
$array_ab=array_combine($arry_a,$array_b);
這是數組的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數組實現根據某個鍵值將相同鍵值合並生成新二維數組的方法PHP合並數組的2種方法小結PHP中數組合並的兩種方法及區別介紹
㈥ php 兩個數組合並成為一個二維數組
PHP 中的 array_merge_recursive() 函數可以實現
將一個或多個數組的元素的合並起來,一個數組中的值附加在前一個數組的後面。並返回作為結果的數組。
當有重復的鍵名時,值不會被覆蓋,而是將多個相同鍵名的值遞歸組成一個數組。
array_merge_recursive(array1,array2,array3...)
參數說明
array1 必需。輸入的第一個數組。
array2 必需。輸入的第二個數組。
array3 可選。可指定的多個輸入數組。
例如:
<?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
)
註:array_merge() 函數也可以實現,與 array_merge_recursive()函數不同是,如果鍵名有重復,該鍵的鍵值為最後一個鍵名對應的值(後面的覆蓋前面的)。如果數組是數字索引的,則鍵名會以連續方式重新索引。
㈦ PHP中有沒有合並數組值的函數(或者小技巧)
1. 最簡單的辦法:使用 +
下列的代碼:
<?php
$r1 = array('a'=>1,'b'=>3,'c'=>5,'d'=>7,'e'=>9);
$r2 = array('f'=>2,'g'=>4,'h'=>6,'i'=>8,'j'=>10);
$r = $r1+$r2;
echo '<pre>';
print_r($r);
echo '</pre>';
?>
代碼輸出結果:
Array
(
[a] => 1
[b] => 3
[c] => 5
[d] => 7
[e] => 9
[f] => 2
[g] => 4
[h] => 6
[i] => 8
[j] => 10
)
但這種辦法有個需要注意的地方:兩個關鍵字相同的元素會只保留一個,即$r1+r2,則$r1中的數據保留,這個在特殊場合也可能剛好用上也說不定。
2. 使用array_merge() 函數:
<?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
)