想象一下以下包含文件hello.php
:
function hello()
{
return 'Hello World';
}
$a = 0;
现在想象以下文件index.php
:
include 'hello.php';
$a = 1;
hello();
include 'hello.php';
hello();
echo $a; // $a = 0, not 1
您的代码现在将出现致命错误,因为该函数已定义两次。使用include_once
会避免这种情况,因为它只会包含hello.php
一次。此外,对于variable value reassignment
, $a
(如果代码编译)将被重置为 0。
从评论中,请考虑这是一个侧面答案- 如果您正在寻找需要多次重置一组变量的东西,我希望使用一个带有类似方法的类Reset
,您甚至可以将其设为静态如果你不想实例化它,像这样:
public class MyVariables
{
public static $MyVariable = "Hello";
public static $AnotherVariable = 5;
public static function Reset()
{
self::$MyVariable = "Hello";
self::$AnotherVariable = 5;
}
}
用法如:
MyVariables::$MyVariable = "Goodbye";
MyVariables::Reset();
echo MyVariables::$MyVariable; // Hello