Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: среднее арифметическое
Форумы портала PHP.SU » PHP » Программирование на PHP » среднее арифметическое

Страниц (1): [1]
 

1. dimonx3 - 23 Сентября, 2010 - 13:56:25 - перейти к сообщению
проблема в том что дома на апаче все нормально работает, а на хостинге результат тоже правильный выходит но цыкл foreach не выводит последний элемент (echo $value;), (хотя print_r все нормально показывает)

кусок кода:
CODE (htmlphp):
скопировать код в буфер обмена
  1. <div class='content'>
  2. <form action="index.php" method="POST" name="form1">
  3. <p>Введите числа через запятую:</p>
  4. <p class="info">Например: 2.8,4,6.1</p>
  5. <input type="text" name="numbers" value="" class='input' onFocus="this.style.background='#e7f9cc'" onBlur="this.style.background='#fff'">
  6. <input type="submit" value="Calc" class='submit'>
  7. </form>
  8.  
  9. <?php
  10. # Проверяем существует ли переменная и обрезаем ненужные символы
  11. if (isset($_POST['numbers']) && !empty($_POST['numbers']) && eregi("[[:digit:]]", $_POST['numbers'])) {
  12.         $numbers = trim($_POST['numbers']);
  13.         $numbers = htmlspecialchars($_POST['numbers']);
  14. }
  15. else {
  16.         exit();
  17. }
  18.  
  19. # Делаем из строки массив
  20. $arr = explode(",", $numbers);
  21.  
  22. # Количество эл. массива
  23. $count = count($arr);
  24.  
  25. print_r ($arr);
  26.  
  27. echo "<p class='code'>\n";
  28. echo "( ";
  29.  
  30. # Разбиваем массив на ключи и значения
  31. foreach ($arr as $key => $value) {     
  32.         echo $value;
  33.  
  34.         # Проверяем если это последний эл. массива
  35.         if (!next ($arr)) {
  36.                 echo " )";
  37.                 echo " / ".$count;
  38.                 # Считаем среднее арифметическое
  39.                 $average = array_sum($arr)/$count;
  40.                 echo " = ".$average;
  41.                 echo "</p>\n";
  42.                 echo "<p class='info'>Сурженко Дмитро<br>402 група</p>\n";
  43.                 echo "</div>\n";
  44.                 echo "</body>\n";
  45.                 echo "</html>\n";
  46.                 # Выход
  47.                 exit();
  48.  }
  49.         echo " + ";
  50. }
  51. ?>
2. Uchkuma - 23 Сентября, 2010 - 15:16:39 - перейти к сообщению
Зачем вы засунули эту конструкцию в цикл??? о_О
dimonx3 пишет:
PHP:
скопировать код в буфер обмена
  1. # Проверяем если это последний эл. массива
  2. if (!next ($arr)) {
  3. echo " )";
  4. echo " / ".$count;
  5. # Считаем среднее арифметическое
  6. $average = array_sum($arr)/$count;
  7. echo " = ".$average;
  8. echo "</p>\n";
  9. echo "<p class='info'>Сурженко Дмитро<br>402 група</p>\n";
  10. echo "</div>\n";
  11. echo "</body>\n";
  12. echo "</html>\n";
  13. # Выход
  14. exit();
  15. }

 

Powered by ExBB FM 1.0 RC1