覚えておきたいphpのコマンドになります。
シリアライズになります。
たまに、配列データをそのままDBへ格納したい時ってないですか?
管理人、これ知るまでは配列を一つ一つパースして・・と
非常に非効率な方法でDBへ格納してました。
では使い方です。
$data = array( 'columnA' => 'testA', 'columnB' => array( 'columnC' => 'testC', 'columnD' => 'testD', ) ); $inData = serialize($data);
上記データ($inData)をそのままDBにつっこみます。
※DB操作は割愛します。
んでDBからデータを取得します。
※DB操作は割愛します。
取り出したデータを$tmpDataとします。
$arr = unserialize($tmpData);
どうでしょう。
結構手順を割愛しましたが、$arrへはDB格納前の
配列データが入っているかと思います。
ま、DBを絡めない場合は以下のような感じで
確認もできますね。
$data = array( 'columnA' => 'testA', 'columnB' => array( 'columnC' => 'testC', 'columnD' => 'testD', ) ); var_dump($data); $inData = serialize($data); var_dump($inData); $arr = unserialize($inData); var_dump($arr);
結果は以下のような感じですね。
array(2) { ["columnA"]=> string(5) "testA" ["columnB"]=> array(2) { ["columnC"]=> string(5) "testC" ["columnD"]=> string(5) "testD" } } string(104) "a:2:{s:7:"columnA";s:5:"testA";s:7:"columnB";a:2:{s:7:"columnC";s:5:"testC";s:7:"columnD";s:5:"testD";}}" array(2) { ["columnA"]=> string(5) "testA" ["columnB"]=> array(2) { ["columnC"]=> string(5) "testC" ["columnD"]=> string(5) "testD" } }
このように便利なコマンドは以外と知らない人がいたりするので、私です
要チェックですね。