在PHP'中使用变量;函数和类之外的超全局数组
我是PHP初学者,我发现一条警告说: 请注意,变量不能在函数或类方法中与PHP的超全局数组一起使用 那么,这是否意味着我可以在函数和类方法的超全局外部使用变量,比如:在PHP'中使用变量;函数和类之外的超全局数组,php,superglobals,variable-variables,Php,Superglobals,Variable Variables,我是PHP初学者,我发现一条警告说: 请注意,变量不能在函数或类方法中与PHP的超全局数组一起使用 那么,这是否意味着我可以在函数和类方法的超全局外部使用变量,比如: <?php foreach(array('_GET','_POST','_COOKIE','_REQUEST') as $key) { if (isset($$key)){ foreach($$key as $_key => $_value){
<?php
foreach(array('_GET','_POST','_COOKIE','_REQUEST') as $key) {
if (isset($$key)){
foreach($$key as $_key => $_value){
$$key[$_key] = MyFunc($_value);
}
}
}
function MyFunc($str){
********************
}
?>
事实上,我试过了,它似乎像预期的那样工作,
但是为什么PHP不允许在函数或类中使用它,那么考虑的是什么呢?我认为这意味着你不能做像
isset($$key)
这样的事情
也许可以改为这样做,$request=$$key
foreach(array('_GET','_POST','_COOKIE','_REQUEST') as $key) {
$request = $$key;
if (isset($request)){
foreach($request as $_key => $_value){
$request[$_key] = MyFunc($_value);
}
}
}
我假设这意味着你不能做像
isset($$key)
这样的事情
也许可以改为这样做,$request=$$key
foreach(array('_GET','_POST','_COOKIE','_REQUEST') as $key) {
$request = $$key;
if (isset($request)){
foreach($request as $_key => $_value){
$request[$_key] = MyFunc($_value);
}
}
}