php数组求和函数
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了php数组求和函数相关的知识,希望对你有一定的参考价值。
<?php
$c[1]['学号']=001;
$c[1]['姓名']=12;
$c[1][1]=10;
$c[1][3]=20;
$c[1][31]=30;
$c[1]['网页']=40;
$c[1][3]='50';
$c[2]['学号']=002;
$c[2]['姓名']=123;
$c[2][1]=20;
$c[2][2']=30;
$c[2][31]=40;
$c[2]['网页']=50;
$c[2][3]='60';
$c[3]['学号']=003;
$c[3]['姓名']=1237;
$c[3][1]=30;
$c[3][2]=40;
$c[3][31]=50;
$c[3]['网页']=60;
$c[3][3]=70;
$c[4]['学号']=004;
$c[4]['姓名']=1257;
$c[4][1]=40;
$c[4][2]=50;
$c[4][31]=60;
$c[4]['网页']=70;
$c[4][3]=80;
$c[5]['学号']=005;
$c[5]['姓名']=12485;
$c[5][1]=100;
$c[5][2]=100;
$c[5][31]=100;
$c[5]['网页']=100;
$c[5][3]=100;
$c[6]['学号']=006;
$c[6]['姓名']=253;
$c[6][1]=100;
$c[6][2]=100;
$c[6][31]=100;
$c[6]['网页']=100;
$c[6][3]=100;
$c[7]['学号']=007;
$c[7]['姓名']=12542;
$c[7][1]=100;
$c[7][2']=100;
$c[7][31]=100;
$c[7]['网页']=100;
$c[7][3]=100;
print "<pre>";
print_r($c);
print "</pre>";
$sum=array_merge( $c['电商7'][3]=100;);
print "sum=".$sum;
?>
这是个简单的数组 想求出所有人网页的和那块错了 啊 大家给看看
<?php
for($i=0;$i<=count($c);$i++)
$sum+=$c[$i][\'网页\'];
?>
php编程技术:
PHP是一种易于学习和使用的服务器端脚本语言。只需要很少的编程知识你就能使用PHP建立一个真正交互的WEB站点。 PHP是能让你生成动态网页的工具之一。PHP网页文件被当作一般html网页文件来处理并且在编辑时你可以用编辑HTML的常规方法编写PHP。
PHP代表:超文本预处理器(PHP: Hypertext Preprocessor)。PHP是完全免费的,不用花钱,可以从PHP官方站点自由下载。PHP遵守 GNU公共许可(GPL),在这一许可下诞生了许多流行的软件诸如Linux和Emacs。可以不受限制的获得源码,甚至可以从中加进你自己需要的特色。PHP在大多数Unix平台,GUN/Linux和微软Windows平台上均可以运行。怎样在Windows环境的PC机器或Unix机器上安装 PHP的资料可以在PHP官方站点上找到。安装过程很简单。 参考技术A <?php
header("Content-Type:text/html;charset=utf-8");
$c[1]['学号']=001;
$c[1]['姓名']=12;
$c[1][1]=10;
$c[1][3]=20;
$c[1][31]=30;
$c[1]['网页']=40;
$c[1][3]='50';
$c[2]['学号']=002;
$c[2]['姓名']=123;
$c[2][1]=20;
$c[2][2]=30;
$c[2][31]=40;
$c[2]['网页']=50;
$c[2][3]='60';
$c[3]['学号']=003;
$c[3]['姓名']=1237;
$c[3][1]=30;
$c[3][2]=40;
$c[3][31]=50;
$c[3]['网页']=60;
$c[3][3]=70;
$c[4]['学号']=004;
$c[4]['姓名']=1257;
$c[4][1]=40;
$c[4][2]=50;
$c[4][31]=60;
$c[4]['网页']=70;
$c[4][3]=80;
$c[5]['学号']=005;
$c[5]['姓名']=12485;
$c[5][1]=100;
$c[5][2]=100;
$c[5][31]=100;
$c[5]['网页']=100;
$c[5][3]=100;
$c[6]['学号']=006;
$c[6]['姓名']=253;
$c[6][1]=100;
$c[6][2]=100;
$c[6][31]=100;
$c[6]['网页']=100;
$c[6][3]=100;
$c[7]['学号']=007;
$c[7]['姓名']=12542;
$c[7][1]=100;
$c[7][2]=100;
$c[7][31]=100;
$c[7]['网页']=100;
$c[7][3]=100;
print "<pre>";
print_r($c); // 这是你原来的数组
// 每一个二维数组的第 5 个元素的键名都是 网页,所有要对求它们的和,只要把它从原数组中提取出来就可以了
// 利用数组地图函数,把相同位置的元素合并成一个数组
$aMap=array_map(null,$c[1],$c[2],$c[3],$c[4],$c[5],$c[6],$c[7]);
print_r($aMap[5]); // 第 5 个元素(是个数组)就是 所有索引为 网页 的元素;
// 求和
$iSum=array_sum($aMap[5]); // 这里对所有键名为 网页 的元素求和
print "</pre>";
echo '结果为:'.$iSum;
?> 参考技术B foreach($c as $row)
$sum+=$row['网页'];
echo $sum;追问
用for循环咋做啊
你刚才的foreach循环很好
for($i=0;$i<=count($c);$i++)
$sum+=$c[$i]['网页'];
?>本回答被提问者采纳
PHP递归函数对所有孩子的特定值求和
【中文标题】PHP递归函数对所有孩子的特定值求和【英文标题】:PHP recursive function to sum specifix value in all childs 【发布时间】:2021-11-22 21:22:54 【问题描述】:PHP 递归函数对所有子项中的特定值求和
我遇到了将数组中的所有子值求和的问题,我刚刚创建了一个简单的函数来解决我的问题。我分享这个是为了提高知识。
$json = '
"name": "ABC",
"subArr": [
"name": "def",
"count": 10,
"subArr": [
"name": "ghi",
"count": 5
,
"name": "jkl",
"count": 15,
"subArr": [
"name": "mno",
"count": 5
]
]
,
"name": "pqr",
"count": 10,
"subArr": [
"name": "stu",
"count": 5
,
"name": "vwx",
"count": 15,
"subArr": [
"name": "yz",
"count": 5,
"subArr": [
"name": "yz",
"count": 5,
"subArr": [
"name": "yz",
"count": 5
]
]
]
]
]
';
【问题讨论】:
【参考方案1】:$json = '
"name": "ABC",
"subArr": [
"name": "def",
"count": 10,
"subArr": [
"name": "ghi",
"count": 5
,
"name": "jkl",
"count": 15,
"subArr": [
"name": "mno",
"count": 5
]
]
,
"name": "pqr",
"count": 10,
"subArr": [
"name": "stu",
"count": 5
,
"name": "vwx",
"count": 15,
"subArr": [
"name": "yz",
"count": 5,
"subArr": [
"name": "yz",
"count": 5,
"subArr": [
"name": "yz",
"count": 5
]
]
]
]
]
';
function countTotal($array, &$total)
foreach ($array["subArr"] as $row)
$total = $total + $row['count'];
if (!empty($row["subArr"]))
countTotal($row, $total);
return $total;
$total = 0;
$finalCount = countTotal(json_decode($json, true), $total);
【讨论】:
您的答案可以通过额外的支持信息得到改进。请edit 添加更多详细信息,例如引用或文档,以便其他人可以确认您的答案是正确的。你可以找到更多关于如何写好答案的信息in the help center。以上是关于php数组求和函数的主要内容,如果未能解决你的问题,请参考以下文章