タグ

2014年5月23日のブックマーク (1件)

  • isset と array_key_exists - odz buffer

    昨日の続き。 2. array_key_existsよりハッシュを使え array_searchは、毎回全データを検索するので遅いです。 データに配列の順序が関係ないなら、連想配列 + issetを使うほうが高速です。 連想配列の場合ハッシュの仕組みが使われるのでその分高速です。 同様に、array_key_existsよりissetのほうがはるかに高速です。 array_search が遅いのはそのとおりだが、array_key_exists だってハッシュを使った検索じゃないかな。 実際、ベンチマーク(コードと結果は後述)を取ると確かに isset のほうが3倍ぐらい速いのであるが、高々3倍であることを考えると array_key_exists だってコストは定数時間な訳で配列の要素数などは関係ないように思える。 そもそも、isset と array_key_exists は配列が n

    isset と array_key_exists - odz buffer