区别:
require_once 只会加载同一个文件一次,require会加载多次。
相信和我一样的小白还是有些疑惑吧。于是我们猜想:如果456.php引入过123.php,现在文件test_require.php引入了“456.php”与“123.php”。如果是使用require方法,那么在test_require.php中,123.php将被引入2次,而使用require_once方法123.php被引入一次。那么我们做实验吧!
一、require方法
123.php的内容如下:
<?php
echo "123\n";
456.php内容如下:
<?php
<span style="white-space:pre"> </span>require("123.php");
<span style="white-space:pre"> </span>echo "456\n";
test_require.php的内容如下:
<?php
require("123.php");
require("456.php");
运行test_require.php得到结果如下:
二、require_once方法
123.php内容不变。456.php和test_require.php更改require_once方法。内容如下:
//456.php
<?php
require_once "123.php";
echo "456\n";
//test_require.php
<?php
require_once "123.php";
require_once "456.php";
运行test_require.php,结果如下:
三、混用出错
如果,在456.php中使用require方法,而在require_once方法,那么require_once将会失效。三个文件代码如下:
//123.php
<?php
echo "123\n";
//456.php
<?php
require "123.php";
echo "456\n";
//test_require.php
<?php
require_once "123.php";
require_once "456.php";
运行结果如下: