配列のデータを隠し項目で渡すときに、うまく渡せなかったので、その解決法をメモしときます。 配列に値を格納して隠し項目でPOSTする場合、そのままvalue属性に「value="<?php echo $array;?>"」と配列を指定しても、うまくデータを受け渡すことはできません。 その場合、serialize関数で配列の要素を一続きの文字列に変換して、base64_encode()関数でエンコードすると、隠し項目に格納できるようになります。 その上で、今度は配列を受け取る側で上記の処理を逆に行うと、うまく配列のデータを処理できました。
<?php //配列を定義する $array = array("menu" => "カレー", "price" => "380", "date" => "2013-01-01"); //フォームから送信された配列を取得する echo "<p>配列の内容(エンコードした場合):"; print_r(unserialize(base64_decode(@$_POST["ar_enc"]))); echo "<p>配列の内容(エンコードしない場合):"; print_r(@$_POST["ar"]); ?> <form method="post" action="<?php echo $_SERVER['PHP_SELF']?>"> <input type="submit" value="送信" name="sub5" /> <input type="hidden" name="ar" value="<?php echo $array;?>" /> <input type="hidden" name="ar_enc" value="<?php echo base64_encode(serialize($array));?>" /> </form>