serialize

(PHP 3>= 3.0.5, PHP 4 , PHP 5)

serialize --  値の保存可能な表現を生成する

説明

string serialize ( mixed value)

serialize() は、valueの 保存可能なバイトストリーム表現を含む文字列を返します。

型や構造を失わずにPHPの値を保存または渡す際に有用です。

シリアル化された文字列をPHPの値に戻すには、 unserialize()を使用して下さい。 serialize()は、resource以外の全て の型を処理します。自分自身への参照を含む配列を serialize()することも可能です。 serialize()している配列/オブジェクト内の参照も 保存されます。

注意: PHP 3では、オブジェクトのプロパティはシリアル化されますが、メソッ ドは失われます。PHP 4ではこの制限は取り除かれ、プロパティ とメソッドの両方を保存します。より詳細な情報については、 オブジェクトとクラスオブジェクトのシリア ル化の節を参照下さい。

例 1. serialize()の例

// $session_data はカレントユーザーのセッション情報を含む多次元配列を
// 保持しています。リクエストの最後にこれをデータベースに保存するために
//  serialize() を使用します。

$conn = odbc_connect ("webdb", "php", "chicken");
$stmt = odbc_prepare ($conn,
      "UPDATE sessions SET data = ? WHERE id = ?");
$sqldata = array (serialize($session_data), $PHP_AUTH_USER);
if (!odbc_execute ($stmt, &$sqldata)) {
    $stmt = odbc_prepare($conn,
     "INSERT INTO sessions (id, data) VALUES(?, ?)");
    if (!odbc_execute($stmt, &$sqldata)) {
    /* 何か問題があったようです。Bitch, whine and moan. */
    }
}

unserialize()も参照下さい。