很多站长朋友们都不太清楚php数组下标相加,今天小编就来给大家整理php数组下标相加,希望对各位有所帮助,具体内容如下:
本文目录一览: 1、 php 对两个下标一样的一维数组,键值按公式计算合成一维数组的方法 2、 php判断数组重复,并把重复的数据相加 3、 php数组值如何正确相加 4、 php向数组添加含有下标的元素 php 对两个下标一样的一维数组,键值按公式计算合成一维数组的方法<?php
//两个数组,下标一样的情况下,键值按公式计算 环比值 = (本期数 - 上期数)/上期数*100%
public function array_add($a,$b){
//根据键名获取两个数组的交集
$arr=array_intersect_key($a,$b);
//遍历第二个数组,如果键名不存在与第一个数组,将数组元素增加到第一个数组
foreach($bas$key=>$value){
if(!array_key_exists($key,$a)){
$a[$key]=$value;
}
}
//计算键名相同的数组元素的和,并且替换原数组中相同键名所对应的元素值
foreach($arras$key=>$value){
$a[$key] = ($b[$key] !=0) ? floatval(sprintf("%.2f",($a[$key] -$b[$key])/$b[$key]*100)) :0;
}
//返回相加后的数组
return$a;
}
php判断数组重复,并把重复的数据相加遍历一次就搞定了
既然你要把单号相同的加起来,就可以认为单号是唯一的,所以单号可以做key
$sourceArr = array(); // 这里就是你原始数据的数组
$newArr = array(); // 这里是相加后处理过的数组,以单号为key
foreach ($sourceArr as $v) {
if (array_key_exists($v['id'], $newArr)) {
$newArr[$v['id']]['fund'] += $v['fund'];
} else {
$newArr[$v['id']] = $v;
}
}
大概就是这么个意思,不过交易类型、账务类型你可能还要再处理下。
如果最后想得到一个下标从0开始的,非关联数组,再用array_values()函数处理下就OK了
php数组值如何正确相加//摘自php5手册
<?php
$a = array(2, 4, 6, 8);
echo "sum(a) = " . array_sum($a) . "\n";
$b = array("a" => 1.2, "b" => 2.3, "c" => 3.4);
echo "sum(b) = " . array_sum($b) . "\n";
?>
php向数组添加含有下标的元素首先!你$a[]=('c'=>'c')写肯定是错误的写法, 后面正确的应该写为array('c'=>'c') 其次,你这样属于赋值行为,$a本身就是个数组,你向数组里面赋值那就是增加一个新数组,无法达到你要的效果。
你应该用array_merge函数合并你的数组,array_merge用法是这样的
array_merge(原来的数组 , 要合并的数组)
这样的结果会产生新的$a数组。
例如:
<?php
$a = array('a'=>'a','b'=>'b');
$c = array_merge($a , array('int' => 1) );
print_r($c);
/*return Array
(
[a] => a
[b] => b
[int] => 1
) */
关于php数组下标相加的介绍到此就结束了,不知道本篇文章是否对您有帮助呢?如果你还想了解更多此类信息,记得收藏关注本站,我们会不定期更新哦。
查看更多关于php数组下标相加 php数组添加键值对的详细内容...