この記事では主に、PHP シリアル化関数 Serialize() および unserialize() と PHP ネイティブ シリアル化関数との比較を紹介します。必要な方は参考にしてください。
PHP には、文字列をフォーマットして配列またはオブジェクトに変換する、つまりシリアル化する優れた方法があります。
変数をシリアル化するには 2 つの方法があります。
次の例では、serialize() 関数と unserialize() 関数を使用します。
// a complex array $myvar = array( 'hello', 42, array(1,'two'), 'apple' ); // convert to a string $string = serialize($myvar); echo $string; /* prints a:4:{i:0;s:5:"hello";i:1;i:42;i:2;a:2:{i:0;i:1;i:1;s:3:"two";}i:3;s:5:"apple";} */ // you can reproduce the original variable $newvar = unserialize($string); print_r($newvar); /* prints Array ( [0] => hello [1] => 42 [2] => Array ( [0] => 1 [1] => two ) [3] => apple ) */
これは、ネイティブの PHP シリアル化メソッドです。
ただし、近年の JSON の人気により、PHP5.2 では JSON 形式のサポートが追加されました。
これで、json_encode() 関数と json_decode() 関数を使用できるようになります。
// a complex array $myvar = array( 'hello', 42, array(1,'two'), 'apple' ); // convert to a string $string = json_encode($myvar); echo $string; /* prints ["hello",42,[1,"two"],"apple"] */ // you can reproduce the original variable $newvar = json_decode($string); print_r($newvar); /* prints Array ( [0] => hello [1] => 42 [2] => Array ( [0] => 1 [1] => two ) [3] => apple ) */
これはより効率的で、特に JavaScript などの他の多くの言語との互換性が高くなります。
注: 複雑なオブジェクトの場合、一部の情報が失われる可能性があります。
要約: 以上がこの記事の全内容です。皆さんの学習に役立つことを願っています。
関連する推奨事項:
PHP は、基本的なデータベース接続、SQL ステートメントの実行、およびエラー プロンプトを実装します
以上がPHPのシリアル化機能とネイティブのシリアル化機能の比較の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。