2
我希望能够创建一个函数来检查POST
或GET
数据。我想叫它像这样:如何通过变量变量访问预定义的变量
hasData("POST");
这将返回true或false,根据传递的预定义变量名称是否不包含数据,很明显。
我想我可以做这样的事情:
function hasData($t = 'POST'){
$varType = "_" . strtoupper($t);
return !empty(${$varType});
}
$_POST
显然是不确定的,当我不喜欢这样,但得到的变量,像这样:
${"_POST"}
不工作一个问题。
我使用了与此相关的文档和found a comment。我在想:
- 首先,为什么我不允许将一个变量传递到大括号中以获取预定义变量的值?
- 其次,是否有一个更优雅的方式去比这个(如评论中所建议的)首先在全局声明变量?
是否有原因不使用$ _REQUEST? – 2014-09-26 17:21:28
我试图想到一个这样做的原因。 “空($ _POST)”不是一个更简单的方法来完成你正在做的事情吗?特别是因为这些选项实际上只是$ _GET和$ _POST,因为$ _REQUEST是两者的组合。 – Brian 2014-09-26 17:21:30
@Brian这是我想用我自己的类来检查这些变量的更大图片的一部分 - 类将具有其他功能,我宁愿在一个地方使用“empty()”。你对“$ _REQUEST”做了一个很好的说明 - 我没有想到,我主要为此感到好奇,为什么这是不可行的。 – George 2014-09-26 17:27:04