logo

マジックメソッドを巡る旅 その8

ヒューマンリソシア株式会社はコラム「マジックメソッドを巡る旅 その8」を公開しました。

###

「serialize() 、unserialize() 経由で__sleep(), __wakeup()のマジックメソッド」の続きになります。
頑張っていきましょう。

さて少し見ておきたいのが日本語入りの情報です。
serializeとjsonで、そこそこの違いが見えてきます。

$awk = array(‘あいうえお’);
//
$s = serialize($awk);
//$s = json_encode($awk);
//
var_dump( $s );

serializeの結果
string(33) “a:1:{i:0;s:15:”あいうえお”;}”

jsonの結果
string(34) “[“\u3042\u3044\u3046\u3048\u304a”]”

jsonの場合、マルチバイトは、Unicodeエスケープされます(json自体「ユニコードを常にエスケープするべきか」って
あたりはまた別途議論があるのですが、PHPのjson_encode関数は、常にUnicodeエスケープをします)。
もし、serializeとjsonを「文字列の長さだけ」で判断しようとする場合、マルチバイトの有無や含まれる比率、は、
考察時に重要なポイントかもしれません。

さて。
serializeの最大の眼目は「配列ではなくてインスタンス(オブジェクト)を渡した時」になります。

この続きは以下をご覧ください
リンク

関連情報
http://resocia.jp/
本プレスリリースは発表元企業よりご投稿いただいた情報を掲載しております。
お問い合わせにつきましては発表元企業までお願いいたします。

今日の主要記事