您的位置:首页技术文章
文章详情页

http://run.php.cn/在线PHP程序运行结果不正确

浏览:120日期:2022-06-05 18:40:09

问题描述

<?php$x = 5;$y = 10;function myTest() {$GLOBALS[ 'y' ] = $GLOBALS[ 'x' ] + $GLOBALS[ 'y' ];}myTest();echo $y; // 应该输出 15 ,但在run.php.cn输出为10?>

问题解答

回答1:

下面的在线PHP编辑器的PHP都是PHP7以上的版本,运行结果都是15

http://run.php.cn/在线PHP程序运行结果不正确

http://run.php.cn/在线PHP程序运行结果不正确

http://run.php.cn/在线PHP程序运行结果不正确

http://run.php.cn/在线PHP程序运行结果不正确

http://run.php.cn/在线PHP程序运行结果不正确

http://run.php.cn/在线PHP程序运行结果不正确

回答2:对于这个原因,我还是持怀疑态度,这样一来,global就要看php的版本就会有不同的运算结果,这样兼容性就有点差了。回答3:找到原因了,见本网站链接https://www.php.cn/php/php-variables.html注:上述代码在PHP5版本下输出值是15;但是PHP中文网在线实例环境是PHP7版本的,所以输出值应为10。因为在最新的php7版本中,PHPglobal变量处理机制进行了修改,此版本下global关键字只能引用简单变量。详情区别介绍可查看此文:关于PHP5和PHP7版本下global变量机制有哪些变化?(代码实测)回答4:$GLOBAL[’x’] 表示的是,对数组$GLOBAL取出键名为’x’的值。问题你这段代码,这个数组哪里来的?
相关文章: