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