
配列から文字列にするserialize関数、
文字列から配列にするunserialize関数の使い方です。
配列から文字列にするserialize関数
$data = array(
'bool' => true,
'int' => 1,
'float' => 1.23,
'string' => 'あいうえお',
'array' => array('red', 'blue', 'green'),
'key' => array(
'東京' => '新宿',
'大阪' => '大阪',
'愛知' => '名古屋',
),
);
$serial = serialize($data);
echo $serial;
(結果)
a:6:{s:4:”bool”;b:1;s:3:”int”;i:1;s:5:”float”;d:1.229999999999999982236431605997495353221893310546875;s:6:”string”;s:15:”あいうえお”;s:5:”array”;a:3:{i:0;s:3:”red”;i:1;s:4:”blue”;i:2;s:5:”green”;}s:3:”key”;a:3:{s:6:”東京”;s:6:”新宿”;s:6:”大阪”;s:6:”大阪”;s:6:”愛知”;s:9:”名古屋”;}}
aが配列を示していて、隣の数字は配列の数を示しています。
sはString型、bはbool型、iはint型、dはdouble型を示していて、隣の数字は文字数を示しています。
文字列から配列にするunserialize関数
先ほどserializeした値を配列に戻すときに使います。
//$serialの値
//$serial = 'a:6:{s:4:"bool";b:1;s:3:"int";i:1;s:5:"float";d:1.229999999999999982236431605997495353221893310546875;s:6:"string";s:15:"あいうえお";s:5:"array";a:3{i:0;s:3:"red";i:1;s:4:"blue";i:2;s:5:"green";}s:3:"key";a:3:{s:6:"東京";s:6:"新宿";s:6:"大阪";s:6:"大阪";s:6:"愛知";s:9:"名古屋";}}';
$unserial = unserialize($serial);
echo "<pre>";
print_r($unserial);
echo "</pre>";
(結果)
Array
(
[bool] => 1
[int] => 1
[float] => 1.23
[string] => あいうえお
[array] => Array
(
[0] => red
[1] => blue
[2] => green
)
[key] => Array
(
[東京] => 新宿
[大阪] => 大阪
[愛知] => 名古屋
)
)
便利な関数です。
DBに値を保存したいときに使いました。
後で簡単に戻せるってのがいいですね。

