【问题标题】:Array in value in input type checkbox?输入类型复选框中的值数组?
【发布时间】:2012-01-24 13:47:27
【问题描述】:
<form action="next.php" method="post">
<table>
    <tr>
      <td>Paul</td>
      <td>Attuck</td>
      <td>paulattuck@yahoo.com</td>
      <td><input type="checkbox" name="list[]" value="paulattuck@yahoo.com" /></td>
    </tr>
    <tr>
      <td>James</td>
      <td>Bond</td>
      <td>jamesbond@yahoo.com</td>
      <td><input type="checkbox" name="list[]" value="jamesbond@yahoo.com" /></td>
    </tr>
    <tr>
      <td>Name</td>
      <td>Last</td>
      <td>lastname@yahoo.com</td>
      <td><input type="checkbox" name="list[]" value="lastname@yahoo.com" /></td>
    </tr>
</table>
    <input type="submit" name="submit" value="submit" />
</form>

如果我选中所有复选框并将表单发送到 next.php 我可以:

print_r($_POST['tags']);
// output
Array
(
    [0] => paulattuck@yahoo.com
    [1] => jamesbond@yahoo.com
    [2] => lastname@yahoo.com
)

我该怎么做:

Array
    (
        [0] => array ([0] => Paul
                      [1] => Attuck
                      [2] => paulattuck@yahoo.com)
        [1] => array ([0] => James
                      [1] => Bond
                      [2] => jamesbond@yahoo.com)
        [2] => array ([0] => Last
                      [1] => Name
                      [2] => lastname@yahoo.com)
    )

?我尝试使用序列化,但这会使“ - 不能以 html 形式使用它。

【问题讨论】:

  • 真的没有办法达到你想要的。您必须使用一些解决方法,例如 Rickesh 和 Eugen 发布的方法

标签: php html arrays


【解决方案1】:

如果你确定名字字段中有一个字符被禁止(我在这里使用|),你可以这样做

<tr>
      <td>Paul</td>
      <td>Attuck</td>
      <td>paulattuck@yahoo.com</td>
      <td><input type="checkbox" name="list[]" value="Paul|Attuck|paulattuck@yahoo.com" /></td>
</tr>

会得到

print_r($_POST['tags']);
// output
Array
(
    [0] => Paul|Attuck|paulattuck@yahoo.com
    [1] => James|Bond|jamesbond@yahoo.com
    [2] => Last|Name|lastname@yahoo.com
)

你可以通过什么来改造

$names=array();
foreach ($_POST['tags']) as $tag)
  $names[]=explode('|',$tag,3);

【讨论】:

    【解决方案2】:

    你必须给出如下值:

    value="Paul,Attuck,paulattuck@yahoo.com" 
    

    然后用, 爆炸它,你会得到你想要的数组。

    【讨论】:

      【解决方案3】:

      通常的方法是提交一个可用于后续数据库查询的值,该查询将返回其余数据。我建议你先考虑这种方法。

      如果你真的要提交所有字段,最简单的方法是用字段中未使用的字符将它们分开,然后在服务器处拆分,正如其他人评论的那样。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2022-11-25
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-11-13
        • 2015-06-03
        • 1970-01-01
        相关资源
        最近更新 更多