今回は、phpの配列検索関数の使い方と、phpの配列検索関数を使用する際の注意点についてまとめました。実際の事例を見てみましょう。
PHP は、配列内の指定された値の存在を検索します。検索には常に foreach ループが使用されます。
より良い方法があります。PHP の 3 つの組み込み配列関数を使用して、指定された値が配列内に存在するかどうかを確認できます。これら 3 つの配列は、in_array()、array_search()、array_key_exists() です。
以下では、これら 3 つの PHP 配列関数の定義と関数を紹介します。
1. PHP 配列検索関数 in_array(value,array,type)
この関数の機能は、array の指定された値を検索することです。このパラメーターが true に設定されている場合、検索は行われます。データと配列の値が同じ型であるかどうか、つまり等しいかどうかがチェックされます。
<?php $people = array("Peter", "Joe", "Glenn", "Cleveland"); if(in_array("Glenn",$people)){ echo "Match found"; }else{ echo "Match not found"; } ?>
出力:
一致が見つかりました
2番目、PHP配列検索関数array_key_exists(key,array)
この関数は、指定されたキーが配列配列内に存在するかどうかを判断するもので、キーが存在する場合はtrueを返し、そうでない場合は返します。間違い 。
<?php $a=array("a"=>"Dog","b"=>"Cat"); if(array_key_exists("a",$a)){ echo "Key exists!"; }else{ echo "Key does not exist!"; } ?>
出力:
キーが存在します!
三、PHP配列検索関数array_search(value,array,strict)
array_search()関数はin_array()と同じで、配列内のキー値を検索します。値が見つかった場合は、一致する要素に対応するキーが返されます。見つからない場合は false を返します。 PHP 4.2.0 より前では、関数は失敗時に false ではなく null を返していたことに注意してください。同様に、3 番目のパラメーター strict が true として指定されている場合、データ型 と値が一致する場合にのみ、対応する要素のキー名が返されます。
<?php $a=array("a"=>"Dog","b"=>"Cat","c"=>5,"d"=>"5"); echo array_search("Dog",$a); echo array_search("5",$a); ?>
出力:
ad
実際の性能比較後、データ量が1000未満など大きくない場合は、どの検索方法でも性能のボトルネックにはなりません。
ただし、データ量が比較的大きい場合は、array_key_exists を使用する方が適切です。
テストによると、array_key_exist は in_array よりも 10 倍、さらには数十倍効率的です。
この記事の事例を読んだ後は、この方法を習得したと思います。さらに興味深い情報については、php 中国語 Web サイトの他の関連記事に注目してください。
推奨読書:
コンソールコマンドを使用して yii フレームワークを介してスケジュールされたタスクを作成する手順の詳細な説明
yii フレームワークで配列の形式でフォームモデルを送信する手順の詳細な説明
以上がPHPの配列検索機能の使い方まとめの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。