该设置为register_globals,但现在已弃用,强烈建议不要使用它,因为它存在安全风险.任何人都可以在脚本中设置变量,这些变量可能会以负面或意外的方式与代码进行交互.
如果你绝对必须,你可以这样做:
foreach ($_GET as $key=>$value) {
$$key = $value;
}
Run Code Online (Sandbox Code Playgroud)
或者,更简单地说:
import_request_variables("g");
Run Code Online (Sandbox Code Playgroud)
或者,为了让它更安全一点:
import_request_variables("g", "myprefix_"); // This way forces you to use "myprefix_"
// in front of the variables, better ensuring you are not unaware
// of the fact that this can come from a user
Run Code Online (Sandbox Code Playgroud)
提取($ _ GET)也可以像其他人指出的那样工作,并且它还允许添加前缀的规范(通过额外的参数)或者如果你的提取与已经存在的变量冲突(例如,如果你在你之后提取)定义了一些其他变量).