2
我知道在php中,當我使用echo時,我可以在引用的字符串中放置一個變量名,但我顯然不能用會話變量來完成此操作。誰能解釋爲什麼?在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
所以我可以去我的快樂的方式知道如何做是正確的(僅保留會話變量中的雙引號外),但我真的想明白爲什麼這不會對會話變量工作。
謝謝!
請閱讀有關字符串PHP手冊:http://php.net/strings,使用'$ {VAR}'代替。 – hakre
謝謝......我已經閱讀過那個頁面,但在您的評論之後重新閱讀,並意識到有一個鏈接,我應該在該頁面上跟隨另一個有解釋的鏈接。不好意思問這麼瑣碎的事情。 :-) – doxguy