マジックメソッドを巡る旅 その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/column/2085/

この記事が役に立ったらシェア!
メルマガの登録はこちら Web担当者に役立つ情報をサクッとゲット!

人気記事トップ10(過去7日間)

今日の用語

メールマーケティング
デジタルマーケティングの一種で、目的達成のためにEメール(電子メール)を用いてユ ...→用語集へ

連載/特集コーナーから探す

インフォメーション

RSSフィード


Web担を応援して支えてくださっている企業さま [各サービス/製品の紹介はこちらから]