代码检查:用于排序和计算的随机数数组

时间:2018-09-20 21:25:53

标签: php arrays average

""

这是我到目前为止所拥有的。我正在尝试生成0-100范围内的50个随机数。然后,我必须将其分类为小于或大于50。

我还必须计算平均值,范围和中位数。

当我尝试达到平均水平并将其放入浏览器(已启用服务器)时,出现空白页。没有错误,只是一片空白。我还使用PHP Sandbox对其进行了测试,没有语法错误,只是一个空白的结果框。

如何解决此问题,以便实际进行计算并显示在页面上?

2 个答案:

答案 0 :(得分:0)

2修复了i<=30中缺少的$;并且结果输出回显

<?php


//array 
$lessFifty = array();
$moreFifty = array();

//number generation
for ($i = 1; $i<=30; $i++) {
    $number = rand(0, 100);

//Sorting <50>      
  if ($number < 50 ) {
      $lessFifty[] = $number;
  } else {
      $moreFifty[] = $number; 
  } 
}

print_r($lessFifty); 
print_r($moreFifty);

//Average
echo "<p> average of values less than fifty: </p>";
echo    array_sum($lessFifty) / count($lessFifty) ;
echo "<p> average of values greater than fifty: </p>" ;  
echo    array_sum($moreFifty) / count($moreFifty) ;

替代显示代码:

echo "<p> average of values less than fifty: ".array_sum($lessFifty) / count($lessFifty)."</p>" ;
echo "<p> average of values greater than fifty: ".array_sum($moreFifty) / count($moreFifty)."</p>"

答案 1 :(得分:0)

您的脚本会导致无限循环,并且没有任何错误报告,您不会发现脚本已用完内存。

您可以通过修复for循环来解决此问题。您忘记在第二个$之前放置i

for ($i = 1; i<=30; $i++) {
//          ^^^
// it should be
for ($i = 1; $i<=30; $i++) {

要启用错误报告功能,以查看将来发生的错误(例如内存不足错误),您可以检查How to get useful error messages in PHP? 以获得更多信息。


但是,您的脚本仍不会打印您计算出的平均值,因此您应该在两次计算之前添加echo,也可以使用concatenation合并字符串,而仅使用2 {{ 1}} s。