我是PHP的初学者,我发现一个警告说:
请注意,变量变量不能与函数或类方法中的PHP的Superglobal数组一起使用。
那么,这是否意味着我可以在函数和类方法的外部使用具有Superglobal的变量,比如:
<?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);
}
}
}