スポンサードリンク

配列から文字列にする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に値を保存したいときに使いました。
後で簡単に戻せるってのがいいですね。
(参考)
[PHP] 配列を文字列に変換して取っておく4つの方法
スポンサードリンク