ホームページ >バックエンド開発 >PHPチュートリアル >PHP シリアル化関数 Serialize() および unserialize() とネイティブ関数の比較_PHP チュートリアル
この記事では主にphpシリアル化関数serialize()とunserialize()とphpネイティブのシリアル化メソッドとの比較を紹介しています。それ。
PHPには文字列をフォーマットして配列やオブジェクトに変換する良い方法、つまりシリアル化があります。
変数をシリアル化するには2つの方法があります。
次の例では、serialize() 関数と unserialize() 関数を使用します。
?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34
|
// 複雑な配列 $myvar = 配列( 「こんにちは」 42、 配列(1,'two'), 「リンゴ」 );
//文字列に変換します $string = シリアル化($myvar);
エコー $string; /* プリント a:4:{i:0;s:5:「こんにちは」;i:1;i:42;i:2;a:2:{i:0;i:1;i:1;s:3 :"2";}i:3;s:5:"リンゴ";} */
// 元の変数を再現できます $newvar = unserialize($string);
print_r($newvar); /* プリント 配列 ( [0] => こんにちは [1] => 42 [2] => 配列 ( [0] => 1 [1] => 2 )
[3] => リンゴ ) */
|
しかし、近年のJSONの人気により、PHP5.2ではJSON形式のサポートが追加されました。
これで json_encode() 関数と json_decode() 関数を使用できるようになりました:
?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34
|
// 複雑な配列 $myvar = 配列( 「こんにちは」 42、 配列(1,'two'), 「リンゴ」 );
//文字列に変換します $string = json_encode($myvar);
エコー $string; /* プリント ["こんにちは",42,[1,"二"],"リンゴ"] */
// 元の変数を再現できます $newvar = json_decode($string);
print_r($newvar); /* プリント 配列 ( [0] => こんにちは [1] => 42 [2] => 配列 ( [0] => 1 [1] => 2 )
[3] => リンゴ ) */
|