PHPで簡単に配列データをDBへ格納する
この記事は13年以上前に書かれたものです。内容が古くなっている可能性があります。
覚えておきたい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"
}
}
このように便利なコマンドは以外と知らない人がいたりするので、私です
要チェックですね。