【问题标题】:pass an array to server from an input tag's "value" attribute从输入标签的“值”属性将数组传递给服务器
【发布时间】:2014-12-20 16:19:30
【问题描述】:

我试图用一个指向关联数组中一个数组的键来传递 &_POST,并且我尝试将该数组放在“输入”标签的“名称”属性中。它不起作用,它作为字符串传递给服务器。这给了我两个问题:

  1. 什么允许 PHP 将“input”的“name”属性读取为 assoc 数组而不是字符串?
  2. 如何通过我想通过的数组?代码如下。

HTML:

<input type="hidden" id="options[field_name_swap][gallery_id]" name="options[field_name_swap][gallery_id]" value="['galleries', 'name']"/>

下面的代码正是我想要的(只是没有数组作为字符串):

Array
(
    [tables] => Array
        (
            [stock_details] => Array
                (
                    [print_id] => 4
                    [gallery_id] => 3
                )

        )

    [options] => Array
        (
            [field_name_swap] => Array
                (
                    [gallery_id] => ['galleries', 'name'] //these lines (1)
                    [print_id] => ['prints', 'photo_id'] // (2)
                )

        )

)

【问题讨论】:

    标签: php html post


    【解决方案1】:

    在 php 中,数组中的每个值都需要在自己的字段中

    <input type="hidden" id="options[field_name_swap][gallery_id][0]" name="options[field_name_swap][gallery_id][0]" value="galleries"/>
    <input type="hidden" id="options[field_name_swap][gallery_id][1]" name="options[field_name_swap][gallery_id][1]" value="name"/>
    

    【讨论】:

      【解决方案2】:

      如何通过我想通过的数组?代码如下。

      为此,您的救赎是在对象上创建数组并将其编码/解码为 json 字符串:

      $json = json_encode($array_given);
      echo "<input type='hidden' name='array' value='{$json}' />";
      

      现在在接收脚本中,您只需解码给定的数据:

      $array = json_decode($_POST['array']);
      

      working demo

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-09-23
        • 1970-01-01
        • 2016-04-11
        • 2019-07-22
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多