Форум — Web-development php eval 0 1 Вот почему у меня конструкция return lj_link($username); Работает а $type = "lj"; return eval($type"_link(".$username.");"); Не работает? Ссылка
Потому что ты пропустил оператор конкатенации строк после $type. А ещё, если у тебя включён magic_quotes, то ты можешь идентификаторы переменных прямо внутрь строки пихать. Terrens ★ (05.03.11 19:31:52 MSK) Показать ответы Ссылка
Ответ на: комментарий от Terrens 05.03.11 19:31:52 MSK Оператор чего О_О chapay ★★★ (05.03.11 19:57:48 MSK) автор топика Показать ответы Ссылка
Ответ на: комментарий от chapay 05.03.11 19:57:48 MSK Он хотел сказать, что надо попробовать так:return eval($type."_link(".$username.");"); Или еще лучше:return eval("{$type}_link('{$username}');"); resurtm ★★★ (05.03.11 20:08:51 MSK) Ссылка
Ответ на: комментарий от chapay 05.03.11 19:57:48 MSK Совсем хорошо будет так:$type = 'lj_link'; return $type($username); eval — зло. resurtm ★★★ (05.03.11 20:11:49 MSK) Показать ответ Ссылка
$type = "lj"; return eval("return {$type}_link(\"$username\");"); thesame ★★★★ (05.03.11 20:40:08 MSK) Ссылка
Ответ на: комментарий от chapay 05.03.11 19:57:48 MSK Оператор-точку :) Terrens ★ (05.03.11 20:46:21 MSK) Ссылка
Ответ на: комментарий от Terrens 05.03.11 19:31:52 MSK >А ещё, если у тебя включён magic_quotes, то ты можешь идентификаторы переменных прямо внутрь строки пихать. С каких пор парсинг переменных внутри строки связан с gpc? :) KRoN73 ★★★★★ (05.03.11 22:01:12 MSK) Показать ответ Ссылка
Ответ на: комментарий от KRoN73 05.03.11 22:01:12 MSK Больше ни с каких :) This feature has been DEPRECATED as of PHP 5.3.0 Terrens ★ (05.03.11 23:12:41 MSK) Ссылка
Ответ на: комментарий от resurtm 05.03.11 20:11:49 MSK Есть мнение, что подобные конструкции все равно разворачиваются в eval boombick ★★★★★ (06.03.11 00:09:47 MSK) Ссылка