我想知道是否有可能动态读取超全局变量,我想做类似的事情:
<?php
$n = 'GET';
$var = '$_'.$n.'[\'something\']'; // pour lire $_GET['something']
echo $var;
//Or
$n = 'POST';
$var = '$_'.$n.'[\'something\']'; // pour lire $_POST['something']
echo $var;
?>
此代码无法正常工作,但我想知道PHP是否可行?
答案 0 :(得分:4)
您不能将variable variables与超全局,函数或类方法一起使用,而不能与$this
一起使用。
手册中的引用(如果你搜索它,它就在用户评论之前):
警告:强> 请注意,变量变量不能与函数或类方法中的PHP 超全局数组一起使用。变量 $ this 也是一个无法动态引用的特殊变量。
答案 1 :(得分:0)
非常感谢我搜索的内容
但我们不能将其用于功能吗?
$n = '_GET';
// don't work => Undefined variable: _GET
function f($n) {
echo ${$n}['a'];
}
f($n);
//work fine
echo ${$n}['a'];