#php
#php
Вопрос:
Это происходит не всегда. Иногда я мог загружать один и тот же GIF-файл и иногда получать обратно эту ошибку, она кажется почти случайной.
Warning: Invalid argument supplied for foreach() in /webroot/i/n/*001/*.org/www/inc/classes/board-post.class.php on line 81
Warning: Cannot modify header information - headers already sent by (output started at /webroot/i/n/*/*.org/www/inc/classes/board-post.class.php:81) in /webroot/i/n/*/*.org/www/board.php on line 343
Warning: Cannot modify header information - headers already sent by (output started at /webroot/i/n/*/*.org/www/inc/classes/board-post.class.php:81) in /webroot/i/n/*/*.org/www/board.php on line 347
Warning: Cannot modify header information - headers already sent by (output started at /webroot/i/n/*/*.org/www/inc/classes/board-post.class.php:81) in /webroot/i/n/*/*.org/www/board.php on line 350
Warning: Invalid argument supplied for foreach() in /webroot/i/n/*/*.org/www/inc/func/posts.php on line 249
Warning: Invalid argument supplied for foreach() in /webroot/i/n/*/*.org/www/inc/classes/board-post.class.php on line 136
Warning: Invalid argument supplied for foreach() in /webroot/i/n/*/*.org/www/inc/classes/board-post.class.php on line 163
Warning: Invalid argument supplied for foreach() in /webroot/i/n/*/*.org/www/inc/func/fetching.php on line 27
Warning: Invalid argument supplied for foreach() in /webroot/i/n/*/*.org/www/inc/classes/board-post.class.php on line 343
Warning: Invalid argument supplied for foreach() in /webroot/i/n/*/*.org/www/inc/classes/board-post.class.php on line 443
Warning: Invalid argument supplied for foreach() in /webroot/i/n/*/*.org/www/inc/func/fetching.php on line 27
Warning: Cannot modify header information - headers already sent by (output started at /webroot/i/n/*/*.org/www/inc/classes/board-post.class.php:81) in /webroot/i/n/*/*.org/www/inc/func/misc.php on line 76
Ответ №1:
Где-то вы используете переменную, которая не является массивом в foreach
инструкции, например:
$foo = 123;
foreach ($foo as $bar)
Это выдает Invalid argument supplied for foreach()
предупреждение. Лучше проверяйте свои переменные, чтобы убедиться, что они являются массивами, когда они ожидаемы.
Тот факт, что это предупреждение было выдано, и выходные данные блокируют отправку заголовков, что вызывает другое Cannot modify header information
предупреждение.
Комментарии:
1. Это строки с 80 по 84 первой ошибки. foreach ($results[0] как $key=>$line) { if (!is_numeric($key)) { $this->board[$key] = $line; } }
2. @Tom Это означает, что
$results[0]
это не массив.
Ответ №2:
Если вы хотите циклически просматривать $results
массив, вам следует написать
foreach ($results as $key=>$value)
вместо
foreach ($results[0] as $key=>$value)
если $results[0]
сам по себе не является массивом, в этом случае $results
это была бы матрица (массив массивов).