最近在寫一個項目 項目中 涉及到二維數(shù)組求和問題 代碼如下
<?php
$arr['info'] = [];
$arr['info'][] = array('payment_type'=>2,'place_rental'=>150);
$arr['info'][] = array('payment_type'=>2,'place_rental'=>250);
$arr['info'][] = array('payment_type'=>2,'place_rental'=>350);
$arr['info'][] = array('payment_type'=>3,'place_rental'=>350);
$arr['info'][] = array('payment_type'=>3,'place_rental'=>250);
$arr['info'][] = array('payment_type'=>4,'place_rental'=>250);
$arr['info'][] = array('payment_type'=>4,'place_rental'=>250);
echo '<h1> $arr:</h1>';
var_dump($arr);
echo '<hr />';
$arrs['info'] = [];
$arrs['info'][] = ['payment_type'=>2,'count_place_rental'=>750];
$arrs['info'][] = ['payment_type'=>3,'count_place_rental'=>600];
$arrs['info'][] = ['payment_type'=>4,'count_place_rental'=>500];
echo '<h1> $arrs:</h1>';
var_dump($arrs);
打印后的結果
$arr:
E:\phpstudy\WWW\sum_arr.php:13:
array (size=1)
'info' =>
array (size=7)
0 =>
array (size=2)
'payment_type' => int 2
'place_rental' => int 150
1 =>
array (size=2)
'payment_type' => int 2
'place_rental' => int 250
2 =>
array (size=2)
'payment_type' => int 2
'place_rental' => int 350
3 =>
array (size=2)
'payment_type' => int 3
'place_rental' => int 350
4 =>
array (size=2)
'payment_type' => int 3
'place_rental' => int 250
5 =>
array (size=2)
'payment_type' => int 4
'place_rental' => int 250
6 =>
array (size=2)
'payment_type' => int 4
'place_rental' => int 250
$arrs:
E:\phpstudy\WWW\sum_arr.php:23:
array (size=1)
'info' =>
array (size=3)
0 =>
array (size=2)
'payment_type' => int 2
'count_place_rental' => int 750
1 =>
array (size=2)
'payment_type' => int 3
'count_place_rental' => int 600
2 =>
array (size=2)
'payment_type' => int 4
'count_place_rental' => int 500
求$arr 二維數(shù)組中 相同的 payment_type類型 的 place_rental的數(shù)值進行相加 最后組合成 $arrs的形式 ?
1 回答

湖上湖
TA貢獻2003條經(jīng)驗 獲得超2個贊
如果確定數(shù)組里只有payment_type
和place_rental
兩個key的話,那么完全可以把payment_type
的值當下標,count_place_rental
當做值
$new_arr = [];
foreach ($arr['info'] as $key => $value) {
if (!isset($new_arr[$value['payment_type']]) || empty($new_arr[$value['payment_type']])) {
$new_arr[$value['payment_type']] = $value['place_rental'];
} else {
$new_arr[$value['payment_type']] += $value['place_rental'];
}
}
var_dump($new_arr);
- 1 回答
- 0 關注
- 424 瀏覽
添加回答
舉報
0/150
提交
取消