如果$x
和$y
全局变量没有在他们之前写过全局变量,那该怎么办?
<!DOCTYPE html>
<html>
<body>
<?php
$x = 75;
$y = 25;
function addition() {
$GLOBALS['z'] = $GLOBALS['x'] + $GLOBALS['y'];
}
addition();
echo $z;
?>
</body>
</html>
答案 0 :(得分:1)
因为它们是在全局命名空间中定义的。
函数中声明的变量只能在该函数中使用。您可以使用在全局名称空间中查找变量的global
运算符来否决它。
function addition() {
global $x, $y;
$GLOBALS['z'] = $x + $y;
}
但$GLOBALS
变量是存储所有全局变量的地方。由于您在该函数中定义了$z
变量,因此设置了它。