Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 22.12.2010, 23:28
Аспирант
Отправить личное сообщение для ВэйДлин Посмотреть профиль Найти все сообщения от ВэйДлин
 
Регистрация: 07.04.2010
Сообщений: 72

Ошибка 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 строка, что может быть не так??
Ответить с цитированием
  #2 (permalink)  
Старый 22.12.2010, 23:47
Аватар для Gvozd
Матрос
Отправить личное сообщение для Gvozd Посмотреть профиль Найти все сообщения от Gvozd
 
Регистрация: 04.04.2008
Сообщений: 6,246

перевести описание ошибки, и погуглить что означает данная ошибка - религия не позволяет?!
отдебажить в конце-концов

к моменту выполнения 13-й строки переменная $cookie не существует, а значит не является массивом
а перебирать можно толь ко массивы
Ответить с цитированием
  #3 (permalink)  
Старый 22.12.2010, 23:54
Аспирант
Отправить личное сообщение для ВэйДлин Посмотреть профиль Найти все сообщения от ВэйДлин
 
Регистрация: 07.04.2010
Сообщений: 72

Я переводил, просто раньше этот скрипт был классом php, щас порылся в изначальном коде и там была такая строка
var $cookie = array();

Ставлю её и снова выдаёт ошибку.
Ответить с цитированием
  #4 (permalink)  
Старый 23.12.2010, 00:02
Аватар для B@rmaley.e><e
⊞ Развернуть
Отправить личное сообщение для B@rmaley.e><e Посмотреть профиль Найти все сообщения от B@rmaley.e><e
 
Регистрация: 11.01.2010
Сообщений: 1,810

В php var для объявления переменных не нужен. Да и вообще не нужен.

P.S. Но проблема не в этом. Читайте про локальные / глобальные переменные.

Последний раз редактировалось B@rmaley.e><e, 23.12.2010 в 00:10.
Ответить с цитированием
  #5 (permalink)  
Старый 23.12.2010, 00:04
Аватар для Gvozd
Матрос
Отправить личное сообщение для Gvozd Посмотреть профиль Найти все сообщения от Gvozd
 
Регистрация: 04.04.2008
Сообщений: 6,246

потому что, все еще:
Сообщение от Gvozd
к моменту выполнения 13-й строки переменная $cookie не существует, а значит не является массивом
а перебирать можно толь ко массивы
знаете, есть такая классная функция: var_dump
она позволяет вывести перменную.
и вы сможете глянуть, массив она, или что.
в данном случае она будет NULL, что в данной ситуации означает что она не объявлена.

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


Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Решение проблемы кодировок для AJAX и PHP без iconv (cp1251 в AJAX) Serge Ageyev AJAX и COMET 10 24.04.2013 20:48
Формирование array, передача и foreach Vulkan AJAX и COMET 4 15.07.2010 13:16
Как передать картинку из javascript в php KIVagant AJAX и COMET 3 12.05.2010 11:54
То-ли лыжи не едут, толи... возможно ошибка в коде. AzriMan Общие вопросы Javascript 19 18.05.2009 16:07
javascript и php (Вопрос) Гауляйтер Общие вопросы Javascript 3 06.05.2009 09:23