Проверка кода: массив случайных чисел для сортировки и расчета - PullRequest
0 голосов
/ 21 сентября 2018
<?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>";
    array_sum($lessFifty) / count($lessFifty) ;
echo "<p> average of values greater than fifty: </p>" ;  
    array_sum($moreFifty) / count($moreFifty) ;
?>

Это то, что я имею до сих пор.Я пытаюсь сгенерировать 50 случайных чисел в диапазоне 0-100.Затем я должен отсортировать его на 50 или менее.

Я также должен рассчитать среднее, диапазон и медиану.

Когда я пытаюсь подняться до среднего и вставить его в свой браузер (с включенным сервером), я получаю пустую страницу.Нет ошибок, просто пусто.Я также использовал PHP Sandbox, чтобы протестировать его и не получить никаких синтаксических ошибок, просто пустое окно результатов.

Как я могу это исправить, чтобы расчеты действительно происходили и отображались на странице?

Ответы [ 2 ]

0 голосов
/ 21 сентября 2018

Ваш скрипт вызывает бесконечный цикл, и без каких-либо сообщений об ошибках вы не увидите, что вашему скрипту не хватает памяти.

Это можно исправить, исправив for -loop.Вы забыли поставить $ перед вторым i:

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

Чтобы включить отчеты об ошибках, чтобы увидеть ошибки (например, ошибки нехватки памяти) в будущем, вы можете проверить Какполучить полезные сообщения об ошибках в PHP? для получения дополнительной информации.


Однако ваш сценарий по-прежнему не будет печатать средние значения, которые вы рассчитали, для этого вам следует добавить echo перед обоими вычислениями, или вы можете использовать сцепление для объединения строк и использования только 2 echo с.

0 голосов
/ 21 сентября 2018

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>"
...