未知$ _POST变量的多个键值?

时间:2015-12-22 11:14:33

标签: php post

我有这个页面会发布到我的php页面,帖子会像这样到达:

namexxxxxxx= <name>
stringidxxxxxxxx= <stringid>

“xxxxxx”是一个随机数,但两个键的编号相同。 那我在做什么:

$keys= array_keys($_POST);
$idNumber= substr($keys[0], 4);

$name= $_POST["name".$idNumber];
$stringId= $_POST["stringId".$idNumber];

这样我就可以轻松获得价值。现在是困难的部分(至少对我而言): 该帖子来自用户可以从列表中的大量项目中进行选择的页面,并且键具有数字的原因是用户可以选择他想要的多个项目。 所以,假设他选择了3个项目,所以我必须处理这样的帖子:

nameXXXXX: name1;
stringIdxxxx: stringId1;

nameXXXXX: name2;
stringIdxxxx: stringId2;

nameXXXXX: name2;
stringIdxxxx: stringId2;

那么我怎样才能获取post键以获取所有不同的数据并将其作为第一个处理? 谢谢!

2 个答案:

答案 0 :(得分:2)

使用[]表示法:

<input name="name[]" value="1" />
<input name="name[]" value="2" />
<input name="name[]" value="3" />

之后$_POST['name']将成为一个数组,其中包含值[1, 2, 3]

您还可以定义索引:

<input name="name[200]" value="1" />
<input name="name[400]" value="2" />
<input name="name[700]" value="3" />

之后$_POST['name']将成为一个数组,其中包含值[200 => 1, 400 => 2, 700 => 3]

答案 1 :(得分:1)

 $keys= array_keys($_POST);
 for($i=0;$i<count($keys);$i++)
 {
    $idNumber= substr($keys[$i], 4);

    $name= $_POST["name".$idNumber];
    $stringId= $_POST["stringId".$idNumber];
 }

使用循环,您可以迭代所有数组元素并获取值。