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のソリューションで見つかったソリューションだけでなく、xmlオブジェクトを文字列としてキャストすることに注意するためのbillyonecanもあります。

したがって、私の値は//値でなければなりません

        $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 に答える