serialize - 値を保存可能な表現に変換する
serializeは、値を保存可能な表現に変換する関数です。配列やオブジェクトなど、リソース以外の型を処理できます。オブジェクトを処理する時、マジックメソッドの__sleep()がコールされます。返り値はバイナリ文字列なので、データベースに保存する場合はBrob型でなければいけません。
構文
パラメータ
$value
シリアル化する値。リソース型は処理できない。
返り値
string
シリアル化したバイナリ文字列。
サンプルコード
<?php
class hoge {
public $fuga = "SYNCER" ;
} ;
$value = new hoge ;
$value->fuga = "SYNCER!!!!!!" ;
$response = serialize( $value ) ;
デモ
シリアル化
オブジェクトの状態も保存できます。
<?php
/*** このコードは編集できます。 ***/
class hoge {
public $fuga = "SYNCER" ;
} ;
$value = new hoge ;
$value->fuga = "SYNCER!!!!!!" ;
$response = serialize( $value ) ;
var_dump( $response ) ;
元の値に戻す
元の値に戻すには、unserialize()を利用します。
<?php
/*** このコードは編集できます。 ***/
class hoge {
public $fuga = "SYNCER" ;
} ;
$value = new hoge ;
$value->fuga = "SYNCER!!!!!!" ;
$str = serialize( $value ) ;
$response = unserialize( $str ) ;
var_dump( $response ) ;
参考
- PHP: serialize
- PHPの公式リファレンス。