※この記事は読者によって投稿されたユーザー投稿のため、編集部の見解や意向と異なる場合があります。 また、編集部はこの内容について正確性を保証できません。
ヒューマンリソシア株式会社はコラム「Standard PHP Library(SPL) データ構造編」を公開しました。 SPLに存在する「データ構造用のクラス」について学んでいきましょう。 まずは、PHPに寄らない、一般的な概念としての「データ構造」を整理してみます。 色々と異論もあろうかと思いますが、とりあえず以下程度を想起してみましょう。 配列 スタック キュー 連想配列 連結リスト(双方向リスト) 循環リスト(双方向循環リスト) 木構造 グラフ なお片方向系(片方向リスト、片方向循環リスト)は、メモリ等がよっぽどタイトでないかぎりは最近「双方向」で代用されることが多いかと思うので、一端オミットいたします。 さて。 まずPHPは「配列を、言語構造としてもっています」が、実際には中の実装は「ハッシュによる連想配列+リスト」になります。 ですので、例えば通常の数字の添え字配列を「$any_array[5]」なんてアクセスをしていて、例えばこれがC言語だと「any_arrayの型をチェックしてポインタ演算をして+5の位置にある情報」になるのですが、PHPの場合は連想配列なので「5という値をhashしたところにある情報」になります。 また一方で「+リスト」なので、連想配列にもかかわらず「順番を保持している」という、他言語の連想配列になれていると「…なにごと?」と思うような状況を生み出します。 実際問題、プログラムで一番よく使うデータ構造は配列と連想配列では、確かに、あるのですが。 とはいえ別のデータ構造も色々と有益だったりしますわけで、そういった時にSPLデータ構造を思い出すと「上質を知るPHPer」になれるわけです。 この続きは以下をご覧くださいhttp://resocia.jp/column/287/
この記事のキーワード

人気記事トップ10

人気記事ランキングをもっと見る