スポンサードリンク

PHP
PHP

配列から文字列にする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つの方法

スポンサードリンク