Ошибка PHP - foreach
Выдаёт ошибку:
Warning: Invalid argument supplied for foreach() in /.../index.php on line 114 Warning: Invalid argument supplied for foreach() in /.../index.php on line 114 Вот кусок кода: function ParseCookie( $data ) { $cookie = parseall( $data, 'Set-Cookie: ', ';' ); if( count( $cookie ) > 0 ) { foreach( $cookie as $c ) { list( $keyCookie, $valCoolie ) = explode( '=', $c, 2 ); $cookie[ $keyCookie ] = $valCoolie; } } } function getStrCookie() { $strCookie = ''; foreach( $cookie as $keyCookie => $valCoolie ) { $strCookie .= "{$keyCookie}={$valCoolie}; "; } $strCookie = substr( $strCookie, 0, strlen( $strCookie ) - 2 ); return $strCookie; } В данном случае это 13 строка, что может быть не так?? |
перевести описание ошибки, и погуглить что означает данная ошибка - религия не позволяет?!
отдебажить в конце-концов к моменту выполнения 13-й строки переменная $cookie не существует, а значит не является массивом а перебирать можно толь ко массивы |
Я переводил, просто раньше этот скрипт был классом php, щас порылся в изначальном коде и там была такая строка
var $cookie = array(); Ставлю её и снова выдаёт ошибку. |
В php var для объявления переменных не нужен. Да и вообще не нужен.
P.S. Но проблема не в этом. Читайте про локальные / глобальные переменные. |
потому что, все еще:
Цитата:
она позволяет вывести перменную. и вы сможете глянуть, массив она, или что. в данном случае она будет NULL, что в данной ситуации означает что она не объявлена. пожалуйста освойте основы дебага, и основы языка на котором пишете. Поверьте, мы все прошли через это, и прошли самостоятельно. именно так люди и достигают мастерства. |
Часовой пояс GMT +3, время: 08:19. |