Я знаю, что в php я могу поместить имя переменной в строку в кавычках, когда использую эхо, но, по-видимому, я не могу сделать это с переменной сеанса. Кто-нибудь может объяснить, почему?
Вот код с закомментированным "оскорбительным" php:
<?php
session_start();
$test = 100;
$_SESSION['test'] = 200;
?>
<html>
<head>
<title>Test</title>
</head>
<body>
<p><?php echo($test."<br />");?></p>
<p><?php echo("$test"."<br />");?></p>
<p><?php echo($_SESSION['test']."<br />");?></p>
<p><?php //echo("$_SESSION['test']"."<br />");?></p>
</body>
</html>
И вывод выглядит так:
100
100
200
Но если я раскомментирую оскорбительную строку кода:
<p><?php echo("$_SESSION['test']"."<br />");?></p>
Я не получаю вывод и следующую ошибку:
Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in - on line 14
Так что я могу продолжать свой веселый путь, зная, как это сделать правильно (просто держите переменную сеанса вне двойных кавычек), но мне бы очень хотелось понять, почему это не работает для переменных сеанса.
Спасибо!
{$var}
. - person hakre   schedule 06.11.2011