如何找到特定多维数组值的总和? [复制]
Posted
技术标签:
【中文标题】如何找到特定多维数组值的总和? [复制]【英文标题】:How to the find the sum of a specific multi dimentional array value? [duplicate] 【发布时间】:2020-10-09 08:51:51 【问题描述】:我有一个关联数组,它有'question'、'maxmark'、'qpno'。 (这是表单提交的 Post 请求数据。)
array (size=3)
'question' => string 'Question one' (length=12)
'maxmark' => string '5' (length=1)
'qpno' => string 'QB345' (length=5)
array (size=3)
'question' => string 'Question two' (length=12)
'maxmark' => string '10' (length=1)
'qpno' => string 'QB345' (length=5)
array (size=3)
'question' => string 'Question three' (length=12)
'maxmark' => string '5' (length=1)
'qpno' => string 'QB345' (length=5)
我有一个变量,$total_mark = 25;
我想从多维关联数组中添加所有'maxmark'并检查它是否等于$total_mark
;
if( sum of all maxmark = $total_mark )
do this
else
do something else
请帮忙。
注意:多维数组中的数组数量不同。 maxmark 也是一个“字符串”。
【问题讨论】:
【参考方案1】:您可以尝试使用array_sum()
和array_column()
:
<?php
$array = array(
array(
'question' => 'Question one',
'maxmark' => '5',
'qpno' => 'QB345'
),
array (
'question' => 'Question two',
'maxmark' => '10',
'qpno' => 'QB345'
),
array (
'question' => 'Question three',
'maxmark' => '5',
'qpno' => 'QB345'
)
);
$total_mark = 25;
$sum_mark = array_sum(array_column($array, 'maxmark'));
if ($total_mark == $sum_mark)
//
else
//
;
?>
【讨论】:
以上是关于如何找到特定多维数组值的总和? [复制]的主要内容,如果未能解决你的问题,请参考以下文章
如果数组存在于另一个多维数组中,如何从多维数组中删除该数组? [复制]