php二维数组处理
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了php二维数组处理,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1762字,纯文字阅读大概需要3分钟。
内容图文
![php二维数组处理](/upload/InfoBanner/zyjiaocheng/236/d1f9120165af496b802ef361d3e73f1c.jpg)
$arr=array(
array('amount'=>100,'date'=>'2014-03-29'),
array('amount'=>120,'date'=>'2014-03-30'),
array('amount'=>200,'date'=>'2014-03-31')
);
怎么转化成以日期为准,amount为之前amount的和?
$arr=array(
array('amount'=>100,'date'=>'2014-03-29'),
array('amount'=>220,'date'=>'2014-03-30'),
array('amount'=>420,'date'=>'2014-03-31')
);
回复内容:
$arr=array(
array('amount'=>100,'date'=>'2014-03-29'),
array('amount'=>120,'date'=>'2014-03-30'),
array('amount'=>200,'date'=>'2014-03-31')
);
怎么转化成以日期为准,amount为之前amount的和?
$arr=array(
array('amount'=>100,'date'=>'2014-03-29'),
array('amount'=>220,'date'=>'2014-03-30'),
array('amount'=>420,'date'=>'2014-03-31')
);
function sd($a,$b) {if($a['date'] == $b['date']) return 0; return $a['date'] >$b['date'] ? 1 : -1;
usort($arr, 'sd');
$amount = 0;
foreach($arr as &$item) {
$amount += $item['amount'];
$item['amount'] = $amount;
}
$originArr=array(
array('amount'=>100,'date'=>'2014-03-29'),
array('amount'=>120,'date'=>'2014-03-30'),
array('amount'=>200,'date'=>'2014-03-31')
);
$newArr1 = array();
$newArr2 = array();
$tempArr = array();
$resultArr = array();
foreach($originArr as $el) {
$newArr1[$el['date']] = $el['amount'];
}
foreach ($newArr1 as $k1 => $v1) {
foreach ($newArr1 as $k2 => $v2) {
$v1 += ($k1 > $k2) ? $v2 : 0;
}
$newArr2[$k1] = $v1;
}
foreach($newArr2 as $key => $value) {
$tempArr['amount'] = $value;
$tempArr['date'] = $key;
$resultArr[] = $tempArr;
}
100,'date'=>'2014-03-29'),
array('amount'=>200,'date'=>'2014-03-31'),
array('amount'=>120,'date'=>'2014-03-30'),
);
$total = 0;
//以日期递增排序
uasort($arr, function($a, $b) {
return strtotime($a['date']) - strtotime($b['date']);
});
array_walk_recursive($arr, function(&$val, $key) use (&$total) {
if ($key === 'amount') {
$total += $val;
$val = $total;
}
});
print_r($arr);
内容总结
以上是互联网集市为您收集整理的php二维数组处理全部内容,希望文章能够帮你解决php二维数组处理所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。