unserializeとは? わかりやすく解説

unserialize

(PHP 4, PHP 5)
unserialize — 保存用表現から PHP の値を生成する

説明

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

警告
エラーやシリアライズされた FALSE 値をアンシリアライズする場合、 FALSE が返されます。この特殊なケースは strserialize(false) で比較する、もしくは E_NOTICE をキャッチすることで区別することができます。

unserialize_callback_func ディレクティブ: コールバック関数を設定することが可能です。(不完全な object "__PHP_Incomplete_Class"を得ることを防ぐため) コールバック関数は、非シリアル化する際に未定義のクラスをインスタ ンス化する必要がある場合にコールされます。 'unserialize_callback_func'を定義するためには、 php.ini, ini_set(), .htaccess を使用し てください。未定義のクラスをインスタンス化する度に、コールバック関 数がコールされます。この機能を無効とするには、 単純にこの設定を空にしてください。また、ディレクティブ unserialize_callback_func は PHP 4.2.0 で利用可能になったことに注意してください。
もしアンシリアライズサル変数がオブジェクトの場合、 オブジェクトが無事再作成された後、PHP は自動的にメンバー関数 __wakeup() (存在していれば) をコールしようとします。 例 2417. unserialize_callback_funcの例
<?php
$serialized_object='O:1:"a":1:{s:5:"value";s:3:"100";}';

// unserialize_callback_func ディレクティブは PHP 4.2.0 以降で利用可能
ini_set('unserialize_callback_func', 'mycallback'); // 独自のコールバック関数を設定する

function mycallback($classname)
{
   // just include a file containing your classdefinition
   // you get $classname to figure out which classdefinition is required
}
?>


注意: PHP 3では、メソッドはシリアル化されたオブジェクトを非シリアル化 する際に保存されません。PHP 4ではこの制限は取り除かれ、プロパティ とメソッドの両方を保存します。より詳細な情報については、 オブジェクトとクラスオブジェクトのシリア ル化の節を参照ください。
例 2418. unserialize()の例
<?php
// ここで、データベースから $session_data にセッションデータをロード
// するために unserialize() を使用します。
// この例は、<function>serialize</function> で記述された例を補足するものです。

$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()も参照ください。




固有名詞の分類

このページでは「PHP関数リファレンス」からunserializeを検索した結果を表示しています。
Weblioに収録されているすべての辞書からunserializeを検索する場合は、下記のリンクをクリックしてください。
 全ての辞書からunserialize を検索

英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  

辞書ショートカット

すべての辞書の索引

「unserialize」の関連用語

unserializeのお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



unserializeのページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

   
PHP Documentation GroupPHP Documentation Group
Copyright © 1997 - 2024 by the PHP Documentation Group.

©2024 GRAS Group, Inc.RSS