php - 一个文件中多个 <?php ?> 的逻辑是什么

标签 php

我在任何地方都找不到答案,或者只是不明白。 因此,我的 PHP 文件中合并了 HTML 和 PHP 代码。书上写着 <?php ?> 中的代码仅在服务器上执行,html 将在浏览器中显示。但我不明白这个:

<?php if ($a = $b) { ?>
   <p>Text when condition is true</p>
<?php } else { ?>
   <p>Text when condition is false</p>
<?php } ?>

上面在浏览器中运行,但我不明白为什么它不输出错误 或者至少它应该输出两个句子。 对我来说,这个声明似乎被打破了,它应该起作用的唯一方法是:

<?php 
if ($a = $b) 
{           
   echo "<p>Text when condition is true</p>"
} else { 
   echo "<p>Text when condition is false</p>"
}      
?>

我在这里想念什么?

最佳答案

这就是它的工作方式。 PHP 是一种模板语言,你可以玩这样的把戏。

两个 PHP block 之间的 HTML 片段被解释为“输出这些字符”。

不过,将 PHP 和 HTML 的这种混合保持在最低限度通常是一个好主意 - 任何超出简单 if/else 结构或循环的严肃后端代码都应该位于单独的位置。

关于php - 一个文件中多个 <?php ?> 的逻辑是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21638614/

相关文章:

php - 更改 Wordpress 主题中的 "Load More"按钮的最佳方法是什么?

PHP SimpleXML->addChild - 不需要的空命名空间属性

php - 通过 iCloud 同步联系人和提醒的网站

php - 策略游戏-奇怪的资源错误

php - 有效搜索 php 迭代器

php - 我无法处理 php mysql 登录页面

javascript - 为每个用户刷新聊天正文

php - Laravel:表单中的 HTTPS::open()

javascript - 如何在javascript变量中获取php数组

php - 用于 mysql 和 php 的 sql linter