logo

Standard PHP Library(SPL) データ構造編

ヒューマンリソシア株式会社はコラム「Standard PHP Library(SPL) データ構造編」を公開しました。

###

SPLに存在する「データ構造用のクラス」について学んでいきましょう。
まずは、PHPに寄らない、一般的な概念としての「データ構造」を整理してみます。

色々と異論もあろうかと思いますが、とりあえず以下程度を想起してみましょう。

配列
スタック
キュー
連想配列
連結リスト(双方向リスト)
循環リスト(双方向循環リスト)
木構造
グラフ
なお片方向系(片方向リスト、片方向循環リスト)は、メモリ等がよっぽどタイトでないかぎりは最近「双方向」で代用されることが多いかと思うので、一端オミットいたします。

さて。
まずPHPは「配列を、言語構造としてもっています」が、実際には中の実装は「ハッシュによる連想配列+リスト」になります。
ですので、例えば通常の数字の添え字配列を「$any_array[5]」なんてアクセスをしていて、例えばこれがC言語だと「any_arrayの型をチェックしてポインタ演算をして+5の位置にある情報」になるのですが、PHPの場合は連想配列なので「5という値をhashしたところにある情報」になります。
また一方で「+リスト」なので、連想配列にもかかわらず「順番を保持している」という、他言語の連想配列になれていると「…なにごと?」と思うような状況を生み出します。

実際問題、プログラムで一番よく使うデータ構造は配列と連想配列では、確かに、あるのですが。
とはいえ別のデータ構造も色々と有益だったりしますわけで、そういった時にSPLデータ構造を思い出すと「上質を知るPHPer」になれるわけです。

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

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