对超全局数组使用可变变量
Use variable variables with superglobal arrays
我想知道是否可以动态读取超全局变量,我想做这样的事情:
<?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 中是否可行?
您不能将 variable variables 与超全局变量、函数或 class 方法一起使用,但不能与 $this
一起使用。
以及手册中的一段话(搜索一下就在用户评论之前):
Warning:
Please note that variable variables cannot be used with PHP's Superglobal arrays within functions or class methods. The variable $this is also a special variable that cannot be referenced dynamically.
谢谢正是我搜索的内容
但是我们不能把它用到函数中吗?
$n = '_GET';
// don't work => Undefined variable: _GET
function f($n) {
echo ${$n}['a'];
}
f($n);
//work fine
echo ${$n}['a'];
我想知道是否可以动态读取超全局变量,我想做这样的事情:
<?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 中是否可行?
您不能将 variable variables 与超全局变量、函数或 class 方法一起使用,但不能与 $this
一起使用。
以及手册中的一段话(搜索一下就在用户评论之前):
Warning: Please note that variable variables cannot be used with PHP's Superglobal arrays within functions or class methods. The variable $this is also a special variable that cannot be referenced dynamically.
谢谢正是我搜索的内容
但是我们不能把它用到函数中吗?
$n = '_GET';
// don't work => Undefined variable: _GET
function f($n) {
echo ${$n}['a'];
}
f($n);
//work fine
echo ${$n}['a'];