PHP与HTML混编的一点疑惑

以前没仔细考虑PHP与HTML混编时,PHP引擎是怎么解释PHP代码的,所以碰到一些代码会很困惑,比如:

<?php
$expression = 0;
if ($expression) {
?>
	<strong>This is true.</strong>
<?php
} else {
?>
	<strong>This is false.</strong>
<?php
}
?> 
这是官方手册上的一个例子,当时以为引擎会这样看代码:
<?php
 $expression = 0;
if ($expression) {
?>
这样不是出错了么?当时怎么也想不明白,其实也可以这样想,先忽略HTML代码
<strong>This is true.</strong>

这时候代码是这样子:

<?php
$expression = 0;
if ($expression) {
 ?>

<?php
} else {
?>

<?php
}
?> 

再合并,这样就符合PHP语法:

<?php
$expression = 0;
if ($expression) {

} else {

}
?> 

代码经过引擎解释后,再在相应的位置添上之前忽略的HTML代码即可。

你可能感兴趣的:(PHP与HTML混编的一点疑惑)