PHP фильтры $_REQUEST

109
10 ноября 2019, 18:40
$a = "123";
$get = $_REQUEST['a'];
echo "test ".$get.".gif";

Почему вместо $get нельзя выполнить php код? Фильтров нет, но кавычки отображаются как текст. Если в $get задать - $a или ".$a.", то выведет так, как прописано. Хотя по идее, кавычки должны закрыть. Как закрыть кавычку от echo?
Почему я не могу сделать так:

echo "test var"; //.gif";  

То есть, закрыть вывод echo и остальную часть строки закомментировать //

Answer 1

Команда echo не исполняет PHP код.

Answer 2
echo "test var"; //.gif"; выведет test var
echo "test var"; //.gif""; выведет test var

Все что после двойного слеша это комментарий а в данном случае коментарий есть но не имеет не одного символа тк интерпритатор дымает код закончился после ?>:

echo "test var"; //?> .gif" выведет test var .gif"

.gif" - это уже не PHP код

ЗАКРОЙТЕ КАВЫЧКУ ТАК:

echo "test var"; //" выведет test var
echo "test var"; #" выведет test var
echo "test var"; /*"*/ выведет test var

Я обычно конкатенирую (да и вообще привык php использовать одинарные кавычки)

echo 'test '.$get.'.gif';

С двойными это не обязательно:

echo "test $get.gif";

если понадобится можно явно указать границы переменной:

echo "test {$get}.gif";

или

echo "test ${get}.gif";
READ ALSO
Аналог getmicrotime в perl?

Аналог getmicrotime в perl?

В php есть такая функция как microtimeТакже его доп

110
Как работает метод send()?

Как работает метод send()?

В документации написано, что он передает значение в генераторМожете подробнее описать, как это происходит? Непонятно, что проверяет цикл...

132
Как ловить фатальные ошибки?

Как ловить фатальные ошибки?

Какой класс исключений использовать для перехвата фатальных ошибок, например, при попытке вывода несуществующей переменной? Есть общее...

110
Регулярка с числами. Удалить пробелы и после тире [закрыт]

Регулярка с числами. Удалить пробелы и после тире [закрыт]

Есть строка, которая содержит числа, — , пробелы между ними, и см: $string = 50 — 55 см

122