東京うぇ部

PHPをメインにしたプログラム情報共有サイト

PHP

PHPで簡単に配列データをDBへ格納する

覚えておきたい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"
  }
}

このように便利なコマンドは以外と知らない人がいたりするので、私です

要チェックですね。

コメントを残す




このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください

関連記事