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