PHPのシリアライズとデシリアライズのサンプルです。
確認環境 ・PHP 7.4.7 |
サンプル | シリアライズする |
デシリアライズする |
シリアライズする
serialize ( mixed $value ) : string |
シリアライズは、型や構造を持った状態で保存可能な値を生成します。
シリアライズするサンプルです。
<?php
# 文字列
$str1 = "test";
$disp1 = serialize($str1);
echo $disp1; # s:4:"test";
# 数値
$num1 = 100;
$disp2 = serialize($num1);
echo $disp2; # i:100;
# 配列
$col1 = [];
$col1[0] = "赤";
$col1[1] = "黄";
$disp3 = serialize($col1);
echo $disp3; # a:2:{i:0;s:3:"赤";i:1;s:3:"黄";}
?>
4行目は、文字列をシリアライズしています。
5行目のsは文字列で、4はバイト数です。
9行目は、数値をシリアライズしています。
10行目のiは数値です。
16行目は、配列をシリアライズしています。
17行目のaは配列で2は要素数です。
以下は、PHPのserializeのリンクです。
https://www.php.net/manual/ja/function.serialize.php
アンシリアライズする
unserialize ( string $str [, array $options ] ) : mixed |
シリアライズされた値をもとに戻します。
アンシリアライズするときセキュリティのリスクがあるので注意して下さい。
以下は、PHPのunserializeのリンクです。
https://www.php.net/manual/ja/function.unserialize.php
アンシリアライズするサンプルです。
<?php
$disp1 = unserialize('s:4:"test";');
print_r($disp1); # test
$disp2 = unserialize(html_entity_decode('i:100;'));
print_r($disp2); # 100
$disp3 = unserialize('a:2:{i:0;s:3:"赤";i:1;s:3:"黄";}');
print_r($disp3); # Array ( [0] => 赤 [1] => 黄 )
?>
3行目は、文字列をアンシリアライズしています。
6行目は、数値をアンシリアライズしています。
9行目は、配列をアンシリアライズしています。
関連の記事