0

$article 是一个数组:

        $article= array();

        //values
        $article['title'] = $item->title;
        $article['url'] = $item->link;
        $article['description'] = $item->description;

这些是通过使用 simpleXML 的 xml 解析获得的,当我提交复选框时(不管有多少被勾选)我尝试运行 for 循环、foreach 甚至嵌套,但它只是打印数组。

我有这样一种复选框:

echo'<td><input type="checkbox" name="article[]" value="'.$article.'"><br>  </td>';

我从表单中获取结果,如下所示:

   $value = $_POST['article'];

接着

  for ($row = 0; $row < 3; $row++)
    {
       echo "The row number  $value[$row]";
       echo '<br/>';

        for ($col = 0; $col < 3; $col++)
         {
          echo "$value[$row][$col]";

           echo '<br/>';

    }}

我认为它可能是一个多维关联数组,但对此无济于事。我真的可以有人指出我做错了什么。

使用 Yordi 的解决方案找到了解决方案,但也有 billyonecan 用于将 xml 对象转换为字符串。

所以我的价值观应该是 //values

        $article['title'] = (string)$item->title;
        $article['url'] = (string)$item->link;
        $article['description'] = (string)$item->description;

在连载之前。

4

1 回答 1

0

您不能回显数组(因此,请检查下面的编辑) - 这就是您在checkbox值内尝试做的事情。您可以手动创建索引,并回显它们的相应值。

正如@Yordi 所指出的,您可以serialize使用数组:

<input type="checkbox" name="article[]" value="<?php echo htmlentities(serialize($article)); ?>" />

然后unserialize将其发布到服务器后:

foreach ($_POST['article'] as $a) {
    $value = unserialize($a);
    echo $value['title']; // url, description..
}
于 2013-05-01T11:53:01.200 回答