我希望创建一个函数来检查POST
或GET
数据。我想这样称呼它:
hasData("POST");
这将返回true或false,这显然取决于传递的预定义变量名是否包含数据。
我想我可以做一些类似的事情:
function hasData($t = 'POST'){
$varType = "_" . strtoupper($t);
return !empty( ${$varType} );
}
当我这样做的时候,$_POST
显然是未定义的,但得到的变量是这样的:
${"_POST"}
工作不是问题。
我查阅了文件,发现了与此有关的评论。我在想:
- 首先,为什么不允许我将变量传递到大括号中以获得预定义变量的值
- 其次,有没有比(如评论中所建议的)首先全局声明变量更优雅的方法呢
$GLOBALS变量似乎也包含$_GET和$_POST变量(但找不到任何引用)。
function hasData($t = 'POST'){
$varType = "_" . strtoupper($t);
return !empty($GLOBALS[$varType]);
}