PHP
PHPで array_find_index() をしてみる
PHPでも array.findIndex() をやりたい。
array_search() では検索条件が指定できないのがもどかしい。
array_map() と array_filter() と array_reduce() はあるのに、どうしてかこれは無いようなので作ってみた。(私が知らないだけで本当は違う名前の関数があるんだろうか・・車輪の再発明でないことを祈る)
最初に見つけた要素の添字が返る。
見つからなかったときは -1 が返る。
ついでに array_find() も。
最初に見つけた要素そのものが返る。
見つからなかったときは NULL が返る。
条件式に合う要素が存在するかどうかだけ知りたいのであれば、もう少し処理を削れる。
コールバック関数が使える in_array() のような array_contains() 関数も作ってみた。
ただし結果は int で返る。(つまり条件に合う要素が何個含まれるのか、が分かる)
|