【发布时间】:2016-01-24 10:56:47
【问题描述】:
我的任务是计算数组的平均值。
$arrayToTest = [[[1], 1], [[1,3,5,7], 4], [[2,5,4,1,2,3], 2.8],
[[-1,-1,-1,-1,-1], -1], [[4,23,84,12,76,34,-7,-23], 25.375]];
来自内部数组,因此对于 example [1,3,5,7] 和预期值为 4。
我必须使用一个函数,我试过这个:
function arrayAverage ($arrayToTest)
{
foreach($arrayToTest as $case)
foreach ($case as $item)
{
$arraySum = array_sum($item);
$arrayCount = array_count_values($item);
$average = $arraySum / $arrayCount;
return $average;
}
}
但它不起作用。我觉得我在调用内部数组时做错了。
【问题讨论】:
-
你不应该
return,它会在没有完成所有工作的情况下立即结束函数。你真正需要什么?您是否需要验证每个预期值是否正确?还是您想忽略该信息?应该是什么输出,因为你会有很多平均值?一个数组? -
平均值已经有了,还有什么要计算的?
-
内部数组是
[1,3,5,7], 4]或[1,3,5,7]]? 正确编写示例数组 -
如果您将
$case更改为$case[0]顺便说一句,您的代码将起作用 -
您能否提供输入数组是什么,以及预期的输出数组会是什么样子?
标签: php multidimensional-array foreach