unserialize

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

unserialize -- 保存用表現から PHP の値を生成する

説明

mixed unserialize (string str)

unserialize() は、シリアル化された変数 (serialize() を参照) をとり、PHP 変数値に 戻す変換を行います。変換された値が返されます。その値は、 integer, double, string, array , object とすることが可能です。オブジェクトがシリアル化された場合、返り値 にそのメソッドは保存されていません。

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

例 1unserialize()の例


// ここで、データベースから $session_data にセッションデータをロード 
// するために unserialize() を使用します。
// この例は、serialize() で記述された例を補足するものです。
 
$conn = odbc_connect("webdb", "php", "chicken");
$stmt = odbc_prepare($conn, "SELECT data FROM sessions WHERE id = ?");
$sqldata = array($PHP_AUTH_USER);
if (!odbc_execute($stmt, &$sqldata) || !odbc_fetch_into($stmt, &$tmp)) {
    // 実行または取得が失敗した場合、空の配列で初期化します
    $session_data = array();
} else {
    // $tmp[0] にシリアル化されたデータを保持している必要があります。
    $session_data = unserialize($tmp[0]);
    if (!is_array($session_data)) {
        // 何か問題があったため、空の配列で初期化します。
        $session_data = array();
    }
}
      

serialize()も参照下さい。