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

php合並多個數組

發布時間: 2022-12-29 11:32:30

php 多個數組合並 重新生成新的數組並按要求值相加

$aa='[{"id": 0, "num": "2", "name": "產品1", "price": "37", "amount": 74, "zdamount": 100}, {"id": 1, "num": "2", "name": "產品2", "price": "37", "amount": 74, "zdamount": 100}]';
$bb='[{"id": 0, "num": "3", "name": "產品1", "price": "37", "amount": 90, "zdamount": 110}, {"id": 1, "num": "5", "name": "產品2", "price": "37", "amount": 150, "zdamount": 180}]';
$cc='[{"id": 2, "num": "3", "name": "產品3", "price": "37", "amount": 90, "zdamount": 110}, {"id": 1, "num": "5", "name": "產品2", "price": "37", "amount": 150, "zdamount": 180}]';
$j_a = json_decode($aa,1);
$j_b = json_decode($bb,1);
$j_c = json_decode($cc,1);
$arr_list = [$j_a,$j_b,$j_c];//把數組扔進大數組,這樣可以隨意增加個數
$result = [];
foreach ($arr_list as $k=>$v) {//第一次循環,把原數組取出
foreach ($v as $key => $value) {//第二次循環,正式取出數據
if (isset($result[$value['id']])) {//如果有此id,則進行累加操作
$result[$value['id']]['num'] += $value['num'];
$result[$value['id']]['amount'] += $value['amount'];
$result[$value['id']]['zdamount'] += $value['zdamount'];
} else {//沒有此id則進行賦值操作
$result[$value['id']]['id'] = $value['id'];
$result[$value['id']]['price'] = $value['price'];
$result[$value['id']]['name'] = $value['name'];
$result[$value['id']]['num'] = $value['num'];
$result[$value['id']]['amount'] = $value['amount'];
$result[$value['id']]['zdamount'] = $value['zdamount'];
}
}
}
echo json_encode($result,320);//輸出結果,如果需要序列化鍵值,可以使用array_values($result)

② php裡面如何合並數組

可以使用函數array_merge();

③ PHP數組合並

$arr=[array('no'=> 100103320096),array('no' => 100100170006)];

$arr1=array();//定義新數組
foreach($arr as $k=>$v){//用foeach循環獲取數組的各個值,賦值給新數組
$arr1[]=$v['no'];
};
print($arr1);//輸出的是你要的新數組

④ PHP數組合並

用array_merge()進行合並,得到的結果是:
Array ( [0] => [1] => [2] => Array ( [0] => test2 [1] => test3 ) ) ,下面的php文檔對這個函數的說明,將一個或多個數組的單元合並起來,一個數組中的值附加在前一個數組的後面。返回作為結果的數組。
如果輸入的數組中有相同的字元串鍵名,則該鍵名後面的值將覆蓋前一個值。然而,如果數組包含數字鍵名,後面的值將不會覆蓋原來的值,而是附加到後面。
如果只給了一個數組並且該數組是數字索引的,則鍵名會以連續方式重新索引。

如果你一定要得到跟你的要求一模一樣的結果,我想只能是自己重新寫一個函數了!

⑤ 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);
?>

⑥ php 多個數組合並



$array1=array(
0=>array("time"=>"2017-04"),
1=>array("time"=>"2017-05"),
2=>array("time"=>"2017-06")
);
$array2=array(
0=>array("amount"=>"38970.00"),
1=>array("amount"=>"75030.00")
);
$array3=array(
0=>array("count"=>"9"),
1=>array("count"=>"83")
);

$array4=array();
foreach($array1AS$key=>$value)
{
//$array4[$key]=array_merge($value,$array2[$key],$array3[$key]);
$array4[$key]=$value;
$array4[$key]+=$array2[$key]?$array2[$key]:array();
$array4[$key]+=$array3[$key]?$array3[$key]:array();
}
var_mp($array4);

⑦ 請教php數組如何合並

我給個寫法,,其實寫法很多自己再慢慢琢磨下

<?php
$a=array
(
0=>array
(
'id'=>1,
'love'=>'蘋果'
),
1=>array
(
'id'=>1,
'love'=>'西瓜'
),
2=>array
(
'id'=>2,
'hobby'=>'桃子'
),
3=>array
(
'id'=>2,
'hobby'=>'梨子'
),
4=>array
(
'id'=>2,
'hobby'=>'葡萄'
),
5=>array
(
'id'=>3,
'hobby'=>'香蕉'
)
);
$b=array();//最後結果存放的數組
$b[0]['id']=$a[0]['id'];//初始化數組
$b[0]['love']=array(isset($a[0]['love'])?$a[0]['love']:$a[0]['hobby']);//初始化數組
$temp=0;//初始化下標
for($i=1;$i<count($a);$i++)
{
$flag=0;//數組是否新增一個變數/還是合並
foreach($bas$k=>$item)
{
if($a[$i]['id']==$item['id'])
{
$b[$k]['love'][]=isset($a[$i]['love'])?$a[$i]['love']:$a[$i]['hobby'];
$flag=1;//合並;
break;
}
}
if($flag==0)//新增
{
$temp+=1;
$b[$temp]['id']=$a[$i]['id'];
$b[$temp]['love']=array(isset($a[$i]['love'])?$a[$i]['love']:$a[$i]['hobby']);
}
}
var_mp($b);
?>

⑧ PHP 數組合並

你這不就是把兩個一維數組放到二維數組裡面去嗎?

把兩個一維數組外面再套一層[]後去array_merge。

舉個例子:

$arr1=['id'=>1,'value'=>'a'];
$arr2=['id'=>2,'value'=>'b'];
$arr3=['id'=>3,'value'=>'c'];
$result=[];//結果變數
for($i=1;$i<=3;$i++){
$result=array_merge($result,[${'arr'.$i}]);
}

$result就是合並後的二維數組

熱點內容
androidndk的使用 發布:2025-07-03 06:41:45 瀏覽:343
網路音頻上傳 發布:2025-07-03 06:41:03 瀏覽:651
腳本真牛批 發布:2025-07-03 06:36:09 瀏覽:882
安卓平板連網路用不了怎麼辦 發布:2025-07-03 06:34:39 瀏覽:844
android微信支付1 發布:2025-07-03 06:28:52 瀏覽:89
美國災害導致存儲宕機 發布:2025-07-03 06:28:02 瀏覽:727
哪裡下載天使帝國4安卓 發布:2025-07-03 06:23:07 瀏覽:700
sql判斷空字元串 發布:2025-07-03 06:16:37 瀏覽:883
sql臨時視圖 發布:2025-07-03 06:05:30 瀏覽:260
海外Facebook伺服器地址 發布:2025-07-03 06:04:59 瀏覽:515