配列内で高速検索を行うにはどうすればよいのか疑問があります(私は特定の事例について話しています)。PHP、in_arrayおよび配列内の高速検索(最後)
私は配列L = [A、B、C](私が始める時)を持っています。プログラムが実行されている間は、Lが大きくなるかもしれませんが(最後までに)、私はL = [A、B、C、D、E]という検索を行います。
実際に私が探している値は、DとEのみになります。今はfind_array(elem、array)を使用していますが、この関数を "微調整"することはできません最後に検索を開始し、インデックスを減らすことです。すべての検索で、関数in_arrayがインデックスを下回るすべての要素を調べる前に、検索している値が見つかることを恐れています。
¿私の問題に適した検索機能がありますか? __ in_array関数はどのように内部的に動作しますか?
おかげで、事前
脇役の場合:新しい値のみを検索することを事前に知っている場合は、これらの新しい値を別々の配列に格納することは可能ではないでしょう。これは小さくなり、検索が迅速になります。 (kenforcesの答えがあなたのオプションではない場合) – Yoshi
私はget_declared_classes()関数を使用しています、特定のクラスがロードされているかどうかを検出する必要があります... – castarco
PHPマニュアルにはfind_array )。だから私はあなたが発見された要素の鍵を欲しいのか、それとも要素が存在するのかを知りたいのか疑問に思っています。 – Leif