覚えておきたい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"
}
}
このように便利なコマンドは以外と知らない人がいたりするので、私です
要チェックですね。
