Обработка переменных внутри строк в языке PHP
Одна из самых главных особенностей строк, определенных с помощью двойных кавычек, - это возможность обрабатывать переменные внутри них (листинг 9.4).
Листинг 9.4. Обработка переменных внутри строк
<html>
<head>
<title> Обработка переменных внутри строк </title>
</head>
<body>
<?php
$str = "Иван";
// выведет: Привет, Иван!
echo "Привет, $str!";
?>
</body>
</html>
В данном случае вместо подстроки $str подставляется значение переменной $str. Происходит это по следующей схеме. Подстрока будет считаться переменной, если она образует правильное имя переменной (смотрите главу 4). Например, в строке Hello, $strs! переменной будет считаться $strs, а не $str как в предыдущем примере. Если все-таки требуется распознать именно переменную $str в этой строке, то надо применить фигурные скобки (листинг 9.5).
Листинг 9.5. Особенности обработки переменных внутри строк
<html>
<head>
<title> Особенности обработки переменных внутри строк </title>
</head>
<body>
<?php
$str = 'Ivan';
// выведет: Hello, Ivans!
echo "Hello, {$str}s!";
?>
</body>
</html>
В том случае если вам понадобится вывести знак доллара (например, для вывода имени переменной), можно использовать одинарные кавычки или экранировать его.
Листинг 9.6. Вывод знака доллара
<html>
<head>
<title> вывод знака доллара </title>
</head>
<body>
<?php
$str = "Hello";
// выведет: Переменная имеет имя $str
echo 'Переменная имеет имя $str';
echo "<br>";
// выедет: Переменная имеет имя $str
echo 'Переменная имеет имя \$str';
?>
</body>
</html>
В обоих случаях переменная в строках не определяется.
