PHPのserializeとunserializeはなかなか便利

PHPでは、配列などの構造をそのまま文字列に直し、あとでunserializeという関数にかませるだけで
元通りの情報を取得出来る機能がある。

配列等を一つの文字列にしてテキストファイルに書き出したりしたい場合は

serialize

serializeで文字列化したものを元に戻したい時は

unserialize

が使える。

以下はサンプルコード。実際に動かしてみて確認してください。


<?php

$tmp = array(
'1' => array('num' => 1),
'4' => array('num' => 1),
'10' => array('num' => 6)
);

$buf = serialize($tmp);

echo $buf."\n";

$test = unserialize($buf);

echo $test[10]['num']."\n";
var_dump($test);

?>

実行結果は

a:3:{i:1;a:1:{s:3:"num";i:1;}i:4;a:1:{s:3:"num";i:1;}i:10;a:1:{s:3:"num";i:6;}}
6
array(3) {
[1]=>
array(1) {
[“num"]=>
int(1)
}
[4]=>
array(1) {
[“num"]=>
int(1)
}
[10]=>
array(1) {
[“num"]=>
int(6)
}
}