<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)
    )

? 我尝试使用序列化,但是这个make“-不能在html表单中使用它。

最佳答案

如果您确定在名称字段中有一个禁止的字符(我在这里使用|),您可以

<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);

09-27 00:30
查看更多