{php 控制流}

Table of Contents

###简单说说:PHP文件包含语句有 include、include_once、require、require_once区别

1、include()

格式1:include(path/filename);

格式2:include 'filename';

一、include()语句将在其被调用的位置处包含一个文件。包含一个文件与在该语句所在位置复制制定文件的数据具有相同内

容的效果。

使用include()时可以忽略括号。

二、可以根据条件来执行include()语句。在条件语句中使用include()有个怪现象,它必须包围在语句块大括号中,或者用

其他语句包围符括起来。

<?php

if(false){

include 'index.php';

}else{

include('index.php');

}

?>

2、include_once()

格式1:include_once(filename);

格式2:include_once 'filename';

include_once()函数的作用与include相同,不过它会首先验证是否已经包含了该文件。如果已经包含,则不再执行

include_once。否则,则必须包含该文件。除了这一点与include完全相同。

3、require()

格式1:require(filename);

格式2:require 'filename';

require()在很大程度上与include相同,都是将一个模板文件包含到require调用坐在的位置。

require和include之间有两点重要的区别:

首先,无论require的位置如何,制定文件都将包含到出现require的脚本中。例如,即使require放在计算结果为假的if语

   句中,依然会包含指定文件。

第二个重要的区别是:require出错时,脚本将停止运行,而在使用include的情况下,脚本将继续执行。

4、require_once()

格式1:require_once(filename);

格式2:require_once 'filename';

随着网站越来越大,可能会出现重复包含某些文件。这也许不是问题,但又是修改了所包含文件的变量后,却由于后面再次包

含原来的文件而被覆盖,可能不希望出现这种情况。还可能出现另一个问题,即所包含文件中函数名的冲突。使用

require_once就可以解决这些问题。

require_once函数确保文件只包含一次。在遇到require_once后,后面再试图包含相同的文件时将被忽略。

include()

在引入文件时候出错时,脚本会继续向下执行

require()

在引入文件时候出错时,脚本不会继续向下执行



###流程控制的替代语法

PHP 提供了一些流程控制的替代语法,包括 ifwhileforforeachswitch

替代语法的基本形式是把左花括号({)换成冒号(:),把右花括号(})分别换成endif;endwhile;endfor;endforeach; 以及 endswitch;

<?php

if ($a > $b) {

echo "123";

} elseif ($a == $b) {

echo "456";

} else {

echo "789";

}

?>

<?php

if (true) :

echo "123";

elseif (2 == $b) :

echo "456";

echo "789";

else :

echo "789";

echo "789";

echo "789";

endif

?>

~

~