我撰寫了一個涉及嵌套 PHP 和 HTML 部分的代碼,如下所示。為什么不顯示變數“v”,但顯示變數“u”?
<?php
$v= rand (1,15);
$u= rand (1,15);
$h = <<<EOD
<!DOCTYPE html>
<html>
<body>
<p style="margin-top:80px">This is a random number:</p>
<?php echo $v ?>
</body>
</html>
EOD;
echo $h;
?>
<html>
<body>
u=<?php echo $u ?>
</body>
</html>
uj5u.com熱心網友回復:
PHP 有兩種模式。
- 內部
<?php...?>(和其他 PHP 標記)PHP 代碼被評估 - 在這些標簽之外,代碼直接流式傳輸到輸出
你有<?php echo $v ?> 里面一個PHP部分(與HEREDOC創建一個字串內)。
創建字串時它不會觸發 PHP 對內容的評估,因為它只是字串的一部分。稍后echo它不會觸發 PHP 評估,因為您只是在回顯一個字串。
<?php echo $v ?>將在發送到瀏覽器的(無效)HTML 中,瀏覽器會將其視為未知標簽。的值$v將是屬性之一。瀏覽器不會為這個未知選項卡呈現任何內容,但您將能夠在開發者工具檢查器中或使用 View?Source 看到它
重新思考您的應用程式設計。不要嘗試存盤包含 PHP 代碼的字串。首先生成包含您需要的資料的字串。
$h = <<<EOD
<!DOCTYPE html>
<html>
<body>
<p style="margin-top:80px">This is a random number:</p>
$v
</body>
</html>
EOD;
echo $h;
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/393859.html
上一篇:通過sql獲取列中特定值的總和
