タグ

ブックマーク / hnw.hatenablog.com (2)

  • 見直されるべきPHP5の組み込みイテレータ - hnwの日記

    PHPには5.0.0以降SPL (Standard PHP Libray)という枠組みが導入されています。これにより、Iteratorインターフェースを実装したクラスのインスタンスであれば、foreach文で配列と同じように取り扱えます。自分でクラスを作るときもIteratorを実装すれば使うのが楽ですし、コードも読みやすくなると思います。 また、PHPに標準で組み込まれているクラスにはIteratorを実装しているものが多数あります。たとえば僕の手元のPHP5.2.9には24個のイテレータがあり、そのうちいくつかは十分に実用的なクラスです。ただ、日語の資料が少ないせいか、かなり知名度は低いように思います。記事では4つの便利な組み込みイテレータを紹介します。 SPLのクラスにはデザインパターンの考えが多く含まれています。特に、イテレータを元にイテレータを作るような使い方は、保守性の高い

    見直されるべきPHP5の組み込みイテレータ - hnwの日記
  • PHPの配列のキーについて調べてみる - hnwの日記

    先日書いた「PHPの奇妙なround関数」は、重箱の隅をつつくような内容の割には注目を頂いたようで何よりです。ブックマーク数が増えていくのを見るのはとても楽しい経験でした。気をよくして他の持ちネタも披露してみます。今回はPHPの配列のキーに関して簡単に紹介した上で、関連してバグなのか仕様なのかわからない挙動を指摘します。 まず、PHPの配列について簡単に紹介します。PHPには配列と連想配列の区別がありません。これは他の言語ではあまり見られない特徴だと思います。PHPのarrayはいわゆる配列と連想配列の両方の性質を持っていますが、他の言語で言うと連想配列で実現されていると言えます。この記事ではPHPの流儀で「配列」と呼びますが、他の言語のユーザーにとっては連想配列と読み替えた方が自然かもしれません。連想配列なのに代入された順番を覚えていたりするので、結局違和感があるかもしれませんが…。 P

    PHPの配列のキーについて調べてみる - hnwの日記
    hiroto-k
    hiroto-k 2007/05/28
  • 1