PHP中if语句大括号里面为啥出现<?PHP }?>

<?php
if($_SESSION[user]=="tsoft" && $_SESSION[pwd]=="111"){
?>

<TD width="70">| 用户管理</TD>

<?php
}
?>

知道大括号要一一对应,但是为什么能够写到两个分开的句子里面?

请问有没有官方说明之类的,还有其它的东西也能分开写到两个句子里面的么?

谢谢

阅读 2.5k
4 个回答
凡是在一对开始和结束标记之外的内容都会被 PHP 解析器忽略,这使得 PHP 文件可以具备混合内容。
文档地址

举个例子:

<?php
if($_SESSION['pwd'] == '111'){
    echo '可以被 PHP 解析';
}
?>

echo 属于 PHP 语法。而你的 <TD width="70">| 用户管理</TD> 是 HTMl,而且该 HTML 处于 if 中,但是它不能被 PHP 解析,所以我们需要两对 PHP 标记。将 PHP 内容与 HTML 隔开。大概就是这样子。

有开始必有结束,这都归功于PHP强大的混编机制。使得php判断php脚本内是html还是php代码。

一一对应,和分不分开没关系,只要配对就行

谢邀.

是否连续不重要。PHP是个天生带有模板功能的脚本语言,所以<?php ?>框以外呢,你把它看成是很多个大号字符串片段就行了,这些片段可以做条件渲染、循环渲染等等,反正用户端要(请求)的就是网页纯文本,那么等服务器跑完拼出完整的再丢回去(响应)就行了。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
宣传栏