将数据从数组添加到新数组


Adding data from an array to a new array

我创建了一个数据数组,我可以从中循环访问特定字段并回显这些值,但我需要做的是将这些值添加到新数组中,最终允许我找到新数组中值的平均值。正如我所说,我可以回显出数据,我想我已经想出了如何获得平均值,只要我可以创建新数组!任何帮助将不胜感激,因为我在任何地方都找不到答案,而且我的人才不足!

我的表包含大约 25 个字段,我根据会话变量提取出许多行。在 im 处理的实例中,我只需要从表中的 1 列中获取值,并将它们添加到数组中。下面的代码将遍历这些值,并将它们回显出来,一次 1 个:-

while ($cdarray=mysql_fetch_array($calldata))   {
echo $cdarray['score_total'];
}

这给了我 25555,这是我期望的 4 个值 25、5、5、5

我试过了

while ($cdarray=mysql_fetch_array($calldata))   {
$cdts = $cdarray['score_total'];
$cdtsar = array($cdts);
}

这导致$cdts被分配的值为 5,

任何帮助非常感谢!!

这将从数组中获取数据,将其放入新数组中并计算平均值。

$cdtsar = array();
while ($cdarray=mysql_fetch_array($calldata))   {
 $cdtsar[] = $cdarray['score_total'];
}
$average = array_sum($cdtsar) / count($cdtsar);

它实际上打印 25 和 5 以及 5 和 5,但中间没有空格,所以它看起来像"25555"。要自行验证这一点,请执行以下操作:

while ($cdarray=mysql_fetch_array($calldata))   {
    echo $cdarray['score_total'];
    echo " / ";
}

要获得平均值,您可以使用

$sum = $count = 0;
$average = null;
while ($cdarray=mysql_fetch_array($calldata))   {
    $sum += $cdarray['score_total'];
    ++$count;
}
// Make sure to guard against divide by zero
if ($count) {
    $average = $sum / $count;
}

或者,如果可以选择更改查询,则可以让数据库为您计算平均值。

如果要

将元素分配给新数组,请使用这样的方法

$cdtsar = array();
while ($cdarray=mysql_fetch_array($calldata))   {
    array_push($cdtsar,$cdarray['score_total']);
}

查找数组的平均值

$sum = array_sum($cdtsar);
$num = sizeof($cdtsar);
$avg = $sum/$num;
echo $avg;