Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/337.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP代码在PHP标记之外工作(<;?PHP…?>;)_Php - Fatal编程技术网

PHP代码在PHP标记之外工作(<;?PHP…?>;)

PHP代码在PHP标记之外工作(<;?PHP…?>;),php,Php,我一直在读一本关于Zend framework的书,但有一部分HTML/PHP代码我搞不懂。它包含在MVC方法的视图部分: <select name="genre"> <?php foreach ($this->genres as $genre) { ?> <option value="<?php echo $genre ?>"><?php echo $genre ?></option> <?php } ?&g

我一直在读一本关于Zend framework的书,但有一部分HTML/PHP代码我搞不懂。它包含在MVC方法的视图部分:

<select name="genre">
<?php foreach ($this->genres as $genre) { ?> 
<option value="<?php echo $genre ?>"><?php echo $genre ?></option>
<?php } ?>
</select>


您可以想到
?>
3
之间的部分相当于

记住PHP代表“PHP:超文本预处理器”。简而言之,它的主要任务是生成HTML输出

PHP标记中的所有内容都在服务器端执行,并根据需要生成输出。这将添加到PHP忽略的所有内容中(PHP标记之外的任何内容,如您的案例中的

您可以将其视为PHP引擎在每次遇到PHP标记时都会打开或关闭

<?php //this gets processed ?>
This is sent as output, unchanged
<?php // this gets processed ?>

这是作为输出发送的,未更改
等等。

PHP在这种情况下是一种不寻常的(模板化)语言。解析器实际上考虑了
?>
结束标记之间的所有内容,它只是开始输出它找到的任何内容(除了紧跟其后的换行符-请参阅指令分离)直到它碰到另一个开始标记,除非在条件语句的中间,在这种情况下,解释器将在决定跳过什么之前确定条件的结果。
这使得PHP可以用于很多事情。你不能仅仅用它创建动态HTML文件,例如,你还可以创建XML(尽管正确获取XML头有点困难),文本文件,CSS文件等,只要为该文件运行PHP解释器,它将以程序代码的形式执行
之间的所有内容,其余内容将按原样输出