所以我正在尝试在PHP中编写一个函数,它实际上将枚举我在函数参数中声明的POST参数列表。
case "send":
if($this->checkPostParams(array('number', 'subject', 'amount', 'message')))
{
die("success");
}
break;
这部分是函数调用的地方,我尝试将POST参数数组解析为函数的参数。
private function checkPostParams($x)
{
$status = 0;
for($i = 0; $i < sizeof($x); $i++)
{
if(!isset($_POST[$i])) $status++;
}
return ($status == 0);
}
这里是一个被调用的函数,我通过POST参数使用 isset 枚举来检查参数是否存在,只要数组中不存在一个参数我在for循环之外增加一个变量,这将允许在函数结束时进行布尔输出和比较。
它似乎根本不起作用,我不知道为什么。
答案 0 :(得分:0)
在此函数checkPostParams()
中,您传递的数组包含数字,主题等...
case "send":
if($this->checkPostParams(array('number', 'subject', 'amount', 'message')))
{
die("success");
}
break;
if(!isset($_POST[$i])) $status++;
此行将检查帖子中$i
的索引是否为整数值。您在$x
变量中获取了所有字段名称,因此您必须检查$_POST[$x[$i]]
。这里$x
包含数字,主题等值。$i
是一个整数。如果您在$i
中添加索引$x
,则会在$_POST
中获取值并使用该值。
if(!isset($_POST[$x[$i]])) $status++;