【问题标题】:What changes need to make to the HTML input fields in order to create desired array in PHP?为了在 PHP 中创建所需的数组,需要对 HTML 输入字段进行哪些更改?
【发布时间】:2015-05-01 04:10:24
【问题描述】:

我设计了一个 HTML 表单如下:

<form action="sample_test.php" method="post">
  <input type="text" name="fileName" value="8.png" id="fileName[]">
  <input type="text" name="fileLink" value="https://www.filepicker.io/api/file/zZ993JyCT9KafUtXAzYd" id="fileLink[]">

  <input type="text" name="fileName" value="2_OnClick_OK.jpg" id="fileName[]">
  <input type="text" name="fileLink" value="https://www.filepicker.io/api/file/1w3cKCW1TMmytb7md3XQ" id="fileLink[]">

  <input type="submit" name="Submit" value="Submit File">
</form>

那么sample_test.php中的代码如下:

<?php
  print_r($_POST); die;
?>

我得到的输出如下: 数组([文件名] => 2_OnClick_OK.jpg [文件链接] => https://www.filepicker.io/api/file/1w3cKCW1TMmytb7md3XQ [提交] => 提交文件)

但这不是我们想要的输出。我希望以以下方式打印所需的输出数组:

Array
        (
            [8.png] => Array
                (
                    [0] => https://www.filepicker.io/api/file/zZ993JyCT9KafUtXAzYd
                )
            [2_OnClick_OK.jpg]
                (
                    [0] => https://www.filepicker.io/api/file/1w3cKCW1TMmytb7md3XQ
                )   

        )

目前我只演示了两个元素,但在实际情况下,表单上可能会出现数百个这样的元素。

那么我需要对我的 HTML 和 PHP 代码进行哪些更改?请帮帮我。

提前致谢。

【问题讨论】:

    标签: php html arrays associative-array html-input


    【解决方案1】:

    仅通过修改 HTML 代码是不可能的,因为您希望(fileName 的)值成为您获得的数组中的索引。那是不可能的,索引将永远是输入的名称。

    但是,如果您在这里查看:POSTing Form Fields with same Name Attribute,您将能够获得 fileNamefileLink 的数组,我很确定您可以从那里做点什么。

    【讨论】:

      【解决方案2】:

      有些地方出了问题,但你已经很接近了。将名称字段设为数组而不是 id - 再加上您的 id 必须是唯一的。

      <input type="text" name="fileName[]" value="8.png" id="fileName1">
      <input type="text" name="fileLink[]" value="https://www.filepicker.io/api/file/zZ993JyCT9KafUtXAzYd" id="fileLink1">
      
      <input type="text" name="fileName[]" value="2_OnClick_OK.jpg" id="fileName2">
      <input type="text" name="fileLink[]" value="https://www.filepicker.io/api/file/1w3cKCW1TMmytb7md3XQ" id="fileLink2">
      

      未经测试,但应该可以解决问题。

      【讨论】:

        猜你喜欢
        • 2017-05-02
        • 1970-01-01
        • 1970-01-01
        • 2017-03-15
        • 2013-02-13
        • 1970-01-01
        • 2012-01-03
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多