[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: foreach
Гость_Юрий
Уважаемые, объясните, пожалуста, почему код ведет себя по-разному в PHP 5.2.12 и 4.4.9:


27. foreach ($cart as $code => $qty)
28. {
29. $cart[$code] = $$code;
30.
31. echo "Код: $code=>".$$code." <br />\n";
32 }


В РНР 4.4.9 на локальной машине прекрасно работает и выдает, что просим:

Код: 20904=>1
Код: 13303=>3
Код: 12405=>9
Код: 12404=>1

На хостинге же в PHP 5.2.12 не работает...

Код: 20904=>
Код: 13303=>
Код: 12405=>
Код: 12404=>

И, соответственно, сообщение по каждому проходу:

Notice: Undefined variable: 20904 in ../file.php on line 29





Спустя 6 минут, 29 секунд (22.03.2010 - 22:07) jetistyum написал(а):
а как у тебя сетятся эти переменные?
не из гет-а ли берутся? с включенным register_globals?

Спустя 1 минута, 21 секунда (22.03.2010 - 22:09) Adil написал(а):
echo "Код: $code=>".$$code." <br />\n";


Здесь он пытается вывести переменную с именем $code, поэтому и ругается, тк его нет.

А откуда берутся значения 1,3,9,1

Спустя 3 минуты, 23 секунды (22.03.2010 - 22:12) Guest написал(а):
Значения берутся из формы по POST.
register_globals включена

Спустя 30 минут, 50 секунд (22.03.2010 - 22:43) Guest написал(а):
Цитата
А откуда берутся значения 1,3,9,1

Это из $qty

Спустя 10 минут, 48 секунд (22.03.2010 - 22:54) Adil написал(а):
тогда делай так:

   foreach ($cart as $code => $qty)
{
$cart[$code] = $qty;

echo "Код: $code=>".$qty." <br />\n";
}

Спустя 12 минут, 16 секунд (22.03.2010 - 23:06) Guest написал(а):
Цитата
тогда делай так:

 
 foreach ($cart as $code => $qty)
  {
    $cart[$code] = $qty;

    echo "Код: $code=>".$qty." <br />\n"
;
}


Не получается. Пытался уже. Массив $cart пишется в сессиию и при таком раскладе почему-то $qty принимает предыдущие значения.
Здесь, похоже, $$ не хочет работать... Но дома-то работает!

Спустя 6 минут, 38 секунд (22.03.2010 - 23:12) Adil написал(а):
я че-то на сонную голову не могу понять что откуда приходит..) сорри, но я лучше завтра еще раз ьпосомтрю эту тему

Спустя 7 минут, 25 секунд (22.03.2010 - 23:20) Guest написал(а):
Приходит из $_POST. В конце скрипта массив $cart записывается в сессию

Спустя 14 часов, 46 минут, 57 секунд (23.03.2010 - 14:07) Guest написал(а):
Сделал так:

27. foreach ($cart as $code => $qty)
28. {
29. $cart[$code] = ${$code}['qty'];\\ берем как переменную $$code затем ее индекс ['qty']
30.
31. echo "Код: $code => ".$$code." <br />\n";
32 }

Результат тот же, т.е. дома на РНР 4 работает, у хостера на РНР 5 нет unsure.gif
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2025 Invision Power Services, Inc.