作用:导入外部文件
用法:include(“文件名”);
这两个函数都是文件引入函数。
导入成功返回1。如果被导入文件中使用了return,则终止被导入的文件的执行,return之后的变量将无法访问,但是return之后的自定义函数,仍然可以被调用。(return对自定义函数不起作用,只对变量起作用)
(1)
<?php
var_dump(require("data.php"));
?>
返回值是1
(2)
data.php
<?php
$name='tom';
return 'a';
?>
引用文件
<?php
var_dump(require("data.php"));
echo require("data.php");
?>返回a a
(3)
如果data.php中有return,则返回值是return后面的内容。
data.php
<?php
$name='tom';
return 'a';
$t='测试数据';
?>
引用文件
<?php
var_dump(require("data.php"));
echo $t;
?>
报错 未定义$t;
区别:
include:引入文件时,如果引入失败的话,程序会报错,但是程序会继续执行。 require:引入文件时,如果引入失败的话,程序只报错,不会执行。
用他们引入文件时,会检查被引入文件是否已经被移入过了,如果已经引入就不会再引入,一个文件只会被引入一次。
一般放在php页面的最前面,php执行之前,就先读入require所引入的文件,一旦出现错误,则退出程序; 这两个的区别为,前者遇到即包含文件,后者会判断是否已经包含文件过了,如果包含过了,则不在包含文件。以可以节省资源,二可以避免重复定义的错误。 |
总结:我们应该选择哪个来引入文件? 在实际项目开发中,基本上都是使用require_once。 |
(4)
data.php
<?php
//次文件保存了一个用户信息,
$name= ‘张三’;
?>
test.php
<?php
$name="李四";
require“./data.php”;
echo $name;
?>
输出结果是张三
后面的名字会覆盖前面的,可能会因为这个原因导致,前面的很多$name都被覆盖掉,导致失误。这是就体现了return的好处,如下面的例子:
data.php
<?php
//次文件保存了一个用户信息,
return ‘张三’;
?>
test.php
<?php
$name="李四";
$name2= require“./data.php”;
echo $name;
echo $name2;
?>
宠物免费领养小程序,欢迎来踩