【问题标题】:PHP getting dynamic $_POST contentPHP 获取动态 $_POST 内容
【发布时间】:2017-09-03 20:27:23
【问题描述】:

所以我试图从 $_POST 数组中获取动态数据。表单提交后的 $_POST 数组如下所示:

Array
(
    [teams1member3] => on
    [teams1member4] => on
    [teams1member7] => on
    [teams1member8] => on
    [teams2member1] => on
)

现在我不完全确定如何访问这些,团队可以是任意数量,成员也是如此。有没有办法“阅读”[teams1member3]

我尝试使用 foreach 循环 (foreach($_POST as $post)) 遍历 $_POST 变量,但这只会获取值 (on)。如果我能得到teams1member3teams1member4 等,我应该可以继续。

谁能帮帮我?非常感谢!

【问题讨论】:

    标签: php post


    【解决方案1】:

    你应该使用$key => $value syntax:

    foreach($_POST as $key => $post){
       // $key is what you need
    }
    

    但您应该更好地序列化您的 $_POST 数据,考虑使用以下 JSON 表示法:

    {
      "teams" : [
        {
          "id": 1,
          "members": [3, 4, 7, 8]
        },
        {
          "id": 2,
          "members": [1]
        }
      ]
    }
    

    【讨论】:

    • 所以我有一堆以下复选框:<input type="checkbox" name="teams1member1" />。根据是否检查它们,我希望它们在数组中可见。这是否可以通过 HTML 来实现,还是我必须使用 JS/PHP 来实现这一点?
    • 无 JSON,check this.
    【解决方案2】:
    foreach ($_POST as $key => $value) {
        // ...
    }
    

    $key 将包含数组键(您需要的),$value - 字符串“on”。

    【讨论】:

      【解决方案3】:

      如果您只使用 foreach($_POST as $value) ,您只会获得值 - 在您的情况下打开和关闭

      但是,如果您想要实际的字段名称,则必须在 foreach 中指定键和值:

      foreach($_POST a $key => $value) {
        //$key contains teammember
        //$value contains on
      }
      

      【讨论】:

        猜你喜欢
        • 2021-06-23
        • 2014-01-12
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-04-15
        • 1970-01-01
        • 2017-06-06
        • 2012-07-04
        相关资源
        最近更新 更多