PHP シリアライズとデシリアライズのサンプル

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行目は、配列をアンシリアライズしています。

関連の記事

PHP 配列の仕組みと使い方のサンプル

△上に戻る