igbinary_unserialize igbinary_serialize によって保存されたバイナリ表現から、PHP の値を復元する &reftitle.description; mixedigbinary_unserialize stringstr igbinary_unserialize は、 igbinary_serialize によってシリアライズされた単一の値をとり、 それを PHP の変数に戻します。 信頼できないユーザーからの入力をそのまま igbinary_unserialize に渡してはいけません。 アンシリアライズの時には、 オブジェクトのインスタンス生成やオートローディングなどで コードが実行されることがあり、 悪意のあるユーザーがこれを悪用するかもしれないからです。 シリアル化したデータをユーザーに渡す必要がある場合は、 安全で標準的なデータ交換フォーマットである JSON などを使うようにしましょう。 json_decode および json_encode を利用します。 外部で保存されたシリアライズ済みデータを復元する場合、 データの検証に hash_hmac 関数が使えます。 重要なのは、そのデータを改ざんした者がいないことを保証することです。 igbinary のシリアライズフォーマットでは、 同じ値に対する異なるリファレンスを区別できる方法がありません。 指定された値に対する全ての PHP のリファレンスは、 アンシリアライズされる際に、 同じリファレンスのグループの一部として扱われます。 これは、シリアライズされる際に 異なるリファレンスのグループの一部であったとしても同じです。 &reftitle.parameters; str igbinary_serialize が生成したシリアライズ済みの値。 もしアンシリアライズする変数がオブジェクトの場合、 オブジェクトが無事再作成された後、igbinary は自動的にメンバ関数 __unserialize() または __wakeup() (存在していれば) をコールしようとします。 <link linkend="ini.unserialize-callback-func">unserialize_callback_func</link> ディレクティブ unserialize_callback_func ディレクティブで指定したコールバックは、未定義のクラスをアンシリアライズしようとした場合にコールされます。 コールバックが指定されない場合は、__PHP_Incomplete_Class がインスタンス化されます。 &reftitle.returnvalues; 変換済の値を返します。 値の型は、 bool, int, float, string, array, object, null があり得ます。 渡された文字列が アンシリアライズ できない場合、 &false; が返されると共に、 E_NOTICE または E_WARNING が発生します。 &reftitle.errors; アンシリアライズ を行うハンドラの中で、オブジェクトが Throwable をスローする可能性があります。 &reftitle.notes; エラーが発生したり、 &null; や &false; をシリアライズしたものを アンシリアライズ しようとした場合、 &null; または &false; を返します。 この特殊ケースについては、 strigbinary_serialize(null)igbinary_serialize(false) と比較したり、 発生した E_NOTICE をキャッチすることで扱えます。 &reftitle.seealso; unserialize json_encode json_decode hash_hmac igbinary_serialize クラスのオートローディング unserialize_callback_func __wakeup() __serialize() __unserialize()