我已经两次写了相同的代码:在文件的根目录和函数
中$ GLOBAL超全局变量在该函数中不起作用。但同样的事情已经完成了功能
参考: 1. php_superglobals 2. reserved.variables.globals
代码:
df <- data.frame(id1=c("a", "a", "a", "j", "x", "x"),
id2=c("b", "c", "d", "k", "y", "z"))
输出:
文件的根
注意未定义的变量:第10行的z
答案 0 :(得分:0)
此脚本不会产生任何输出,因为echo语句引用$ z变量的本地版本,并且尚未在此范围内分配值。您可能会注意到这与C语言略有不同,因为C中的全局变量可自动用于函数,除非被本地定义特别覆盖。这可能会导致一些问题,因为人们可能会无意中更改全局变量。在PHP中,如果要在函数中使用全局变量,则必须在函数内声明全局变量。
答案 1 :(得分:0)
我在代码中发现了自己的错误。 $ GLOBALS超全局变量用于在非全局范围内创建全局变量和访问。 如果我们想直接在非全局范围内使用,则需要使用“global”关键字声明全局变量。
更正后的代码:
<?php
// working here
$GLOBALS['x'] = "Root of the file";
echo $x;
// same things are not working in the function.
function checkglobal() {
$GLOBALS['z'] = "In the function.";
global z; // declare global variable *******************
echo $z;
}
checkglobal();
<强>输出:强>
文件的根
在函数中。