代码之家  ›  专栏  ›  技术社区  ›  wpdev

从多个方括号中使用$_Post获取值

  •  -1
  • wpdev  · 技术社区  · 6 年前
    <input type="text" class="text" id="attachments-1-vid_id" name="attachments[1][vid_id]" value="1qaq0F-SXpo8">
    <input type="text" class="text" id="attachments-2-vid_id" name="attachments[2][vid_id]" value="2qaq0F-SXpo8">
    <input type="text" class="text" id="attachments-3-vid_id" name="attachments[3][vid_id]" value="3qaq0F-SXpo8">
    <input type="text" class="text" id="attachments-4-vid_id" name="attachments[4][vid_id]" value="4qaq0F-SXpo8">
    

    这是我的意见。我只想查一下 [视频ID] .有可能吗?

    如果发布了任何输入

    if( isset($_POST['vid_id']) ) {
    //do it...
    }
    
    1 回复  |  直到 6 年前
        1
  •  1
  •   Pyr James    6 年前

    您正在访问 vid_id 索引,它不是真正在$Post SuperGlobal中传递的内容。

    解决方案基于两个假设。

    1. 只有那个输入存在。

    这是非常直接的:

    <?php 
      if(isset($_POST[‘attachments’][231][‘vid_id’]){}
    

    <?php
      if(array_key_exists(“vid_id”, $_POST[‘attachments’][231])){}
    
    1. 类似的输入也存在,您希望对多个输入执行。

    我的意思是……

    <input type=text name=attachments[][vid_id] />
    .....
    <input type=text name=attachments[][vid_id] />
    <input type=text name=attachments[][vid_id] />
    

    为此,必须将其插入循环中。

    <?php
     foreach($_POST[‘attachments’] as $arr){
           if(array_key_exists(“vid_id”, $arr){
                // do stuff
           }
     }