當前位置:首頁 » 編程語言 » php合並數據合並

php合並數據合並

發布時間: 2022-06-30 00:21:39

A. 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()函數不同是,如果鍵名有重復,該鍵的鍵值為最後一個鍵名對應的值(後面的覆蓋前面的)。如果數組是數字索引的,則鍵名會以連續方式重新索引。

B. 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中數組合並的兩種方法及區別介紹

C. 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
)

D. 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);
?>

E. php合並一個或多個數組

array_merge
(PHP 4, PHP 5, PHP 7)
array_merge — 合並一個或多個數組
1.說明
array_merge ([ array $... ] ) : array
將一個或多個數組的單元合並起來,一個數組中的值附加在前一個數組的後面。返回作為結果的數組。
如果輸入的數組中有相同的字元串鍵名,則該鍵名後面的值將覆蓋前一個值。然而,如果數組包含數字鍵名,後面的值將 不會 覆蓋原來的值,而是附加到後面。
如果輸入的數組存在以數字作為索引的內容,則這項內容的鍵名會以連續方式重新索引。
2.參數
...
要合並的數組。
返回值
返回合並後的結果數組。如果參數為空,則返回空 array。
更新日誌
版本 說明
7.4.0 允許不帶參數調用,之前版本至少需要一個參數。
3.範例
示例 #1 array_merge() 示例
"red", 2, 4);
$array2 = array("a", "b", "color" => "green", "shape" => "trapezoid", 4);
$result = array_merge($array1, $array2);
print_r($result);
?>

F. php 怎麼控製表格,相同數據合並顯示一行

摘要 您好,下面由我為您解決您的疑慮,希望可以幫助到您。

G. thinkphp中兩條數據有相同的內容,如何將他們合並成一條數據

1. 在用mysql查詢的時候,用group by (某一個欄位) 將其查詢結果合並;
或者;
2. 查詢條件用limit 1 限制查詢結果條數,反正內容一樣,你就要一條即可;

H. 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轉換成了數組了,所以大家在使用時一定要注意這些細節哦。

I. php遍歷出數據後如何合並

如果是數組[1,2,3,4,5] 想變成字元串 1,2,3,4,5 可以直接使用join(',',$array) 或者 implode(',',$array) ; 如果想把字元串變成數組 可以使用explode(',',$str) 切割成數組

熱點內容
安卓手機的充電器線不好使了怎麼辦 發布:2025-02-04 15:44:28 瀏覽:633
騰訊安卓手游下載平台叫什麼名字 發布:2025-02-04 15:43:48 瀏覽:6
squid源碼 發布:2025-02-04 15:38:07 瀏覽:793
30秒創意廣告腳本 發布:2025-02-04 15:36:35 瀏覽:3
暴風影音怎麼不能緩存 發布:2025-02-04 15:34:24 瀏覽:904
超級訪問劉亦菲 發布:2025-02-04 15:30:22 瀏覽:317
C語言加加b 發布:2025-02-04 15:29:44 瀏覽:276
存儲系統的發展 發布:2025-02-04 15:10:29 瀏覽:585
linux太多 發布:2025-02-04 15:07:31 瀏覽:819
倒數的運演算法則 發布:2025-02-04 15:01:10 瀏覽:568