配列におさめた情報を(手っ取り早く)フォームからPOSTで渡したかったので、maybe_serialize()を使ってシリアル化した文字列に変換して渡してみたメモです。
手順
- フォーム
-
配列のデータを maybe_serialize()でシリアル化し、さらに urlencode()で変換してPOSTします。
12345678910111213141516<?php$array = array('hoge' => array('a','b'),'fuga' => array('x','y'),);?><form method="post" action="post.php"><input type="hidden" name="array" value="<?php echo urlencode( maybe_serialize( $array ) ); ?>" /><input type="submit" name="submit" value="submit" /></form> - POST処理
-
POSTされた文字列を urldecode()し、maybe_unserialize()で復元します。
1234<?php$array = maybe_unserialize( urldecode( $_POST['array'] ) );print_r( $array );?> - 出力結果
-
同じ内容でした。
12345678910111213Array([hoge] => Array([0] => a[1] => b)[fuga] => Array([0] => x[1] => y))
コメントを残す