ホームページ > バックエンド開発 > PHPチュートリアル > PHP でシリアル化された文字列をシリアル化解除するにはどうすればよいですか?

PHP でシリアル化された文字列をシリアル化解除するにはどうすればよいですか?

Susan Sarandon
リリース: 2024-12-05 00:30:10
オリジナル
860 人が閲覧しました

How to Unserialize a PHP Serialized String?

シリアル化された文字列の理解とシリアル化解除

あなたの場合、次の形式のシリアル化された文字列があります:

a:2:{i:0;s:7:"Abogado";i:1;s:7:"Notario";}
ログイン後にコピー

ご質問に答えるには:

何これは文字列の種類ですか?

これはシリアル化された文字列であり、特定の形式で配列を表現したものです。キーと値のペアや値の型など、配列に関する情報をエンコードします。

シリアル化を解除して配列を取得するにはどうすればよいですか?

PHP の unserialize() 関数を使用して、この文字列をシリアル化解除できます。以下に例を示します。

$str = 'a:2:{i:0;s:7:"Abogado";i:1;s:7:"Notario";}';
$result = unserialize($str);
ログイン後にコピー

print_r($result) の出力は次のようになります。

Array ( [0] => Abogado [1] => Notario )
ログイン後にコピー

重要な注意事項:

  • エラーが発生した場合、またはシリアル化された FALSE 値を表す場合、シリアル化された文字列は FALSE を返すことがあります。文字列をserialize(false)と比較するか、E_NOTICE例外をキャッチすることで、これらのケースを処理できます。
  • セキュリティ上の理由から、信頼できないユーザー入力を逆シリアル化しないでください。アンシリアル化によりコードが実行される可能性があり、悪意のあるユーザーがこれを悪用する可能性があります。代わりに、JSON などのより安全なデータ交換形式を使用することを検討してください。

以上がPHP でシリアル化された文字列をシリアル化解除するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート