对于php程序员来说,随着php不同版本对于部分函数变量机制的更新改进,往往会让大家因在不同版本下使用同一变量而出现不同结果时而产生疑惑。
一、global变量机制
<?php
$x=5;
$y=10;
function myTest()
{
global $x,$y;
$y=$x+$y;
}
myTest();
echo $y;
?>
在php5的环境下输出:15;
但是在·php7的环境下输出的是10
那么之所以会出现不同运算结果,其实是因为在最新的php7版本中,PHPglobal变量处理机制进行了修改,此版本下global关键字现在只能引用简单变量。所以当我们在本地php5版本环境下运算时,输出的$y的值就是$x+$y=5,此时的global就相当于全局变量使用。而在php7环境下,输出的$y的值却是$y=3,此时global变量只能直接引用简单变量$y。