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 :: Версия для печати :: EVAL()
Форумы портала PHP.SU » PHP » Программирование на PHP » EVAL()

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

1. CyberBoss - 08 Марта, 2007 - 02:35:23 - перейти к сообщению
ПАМАГИТЕЕЕЕЕЕЕ!
пишу eval("*$c_$q_$c"), * - слэш

т.е. должна в итоге получиться переменная типа $c_1_5
НО! НИЧЕГО НЕ ПОЛУЧАЕТСЯ!
пишет: Parse error: parse error, unexpected $end in "тута адрес скрипта": eval()'d code on line 1
2. Dagdamor - 08 Марта, 2007 - 08:02:08 - перейти к сообщению
Во-первых, знак подчеркивания также считается частью имени переменной. Т.е. у тебя подставляется не $q, а $q_. Возьми $q в фигурные скобки, если хочешь "отделить" подчеркивание.

Во-вторых, точку с запятой забыл в конце строки (не после eval, а после $c), потому и parse error ;)

В-третьих, для такого примера eval ни к чему. Вот работающий пример без eval:

PHP:
скопировать код в буфер обмена
  1. <?PHP
  2.  
  3. $q=1;
  4. $c=5;
  5. $c_1_5="Работает!";
  6. echo ${"c_{$q}_$c"};
  7.  
  8. ?>
3. kamikadze - 08 Марта, 2007 - 13:44:22 - перейти к сообщению
А почему ты только {} 1 раз вставил для $q а для $c не надо?
4. Dagdamor - 08 Марта, 2007 - 14:27:50 - перейти к сообщению
Потому, что перед первым c нет бакса, а после второго нет подчеркивания ;)
5. kamikadze - 09 Марта, 2007 - 22:14:04 - перейти к сообщению
хм! понятно

 

Powered by ExBB FM 1.0 RC1