如何从foreach中的$ key获取键名($ _ POST为$ key => $ value){

时间:2013-10-11 16:41:37

标签: php post

我有动态字段名称正在发布到我的表单处理器。名称格式为editnote|9|9是要编辑的备注的ID。如果我使用此代码:

foreach($_POST as $key) {

    $editcheck = explode('|', $key);

    if($editcheck[0] == 'editnote') {
        echo $editcheck[1];
    }
}

我可以正确获取9的ID,但我无法获得该值。我试过了:

foreach($_POST as $key => $value) {

    $editcheck = explode('|', $key);

    if($editcheck[0] == 'editnote') {
        $clsCNA->updatenote($editcheck[1], $_POST[$key]);
    }
}

但是使用此代码,我只能获取值而不是键名来获取我想要编辑的注释ID。

基本上,我希望foreach($_POST as $key => $value)以某种方式允许我获取$key的名称,以便我可以将其爆炸以获取ID号。

有什么想法吗?

我正试图像这样发送给我的班级:

$clsCNA->updatenote(ID From key name, Value of key)

1 个答案:

答案 0 :(得分:1)

  

如果我使用此代码:

foreach($_POST as $key) {

    $editcheck = explode('|', $key);

    if($editcheck[0] == 'editnote') {
        echo $editcheck[1];
    }
}
  

我可以正确获取9的ID ...

foreach($_POST as $key => $value) {
  

CUT ......

使用一个变量的PHP's foreach循环只会获取数组的值。选择的确切名称并不能确定变量的内容。同样通过方法调用找到。 这将放入$key变量。

在第二个示例中,您使用的是$key => $value语法。这里循环将放入$key变量,将放入$value变量。

这意味着您的$key变量在两个示例中都不相同。在一个中,它保持数组的,另一个包含