PHP は Web 開発で広く使用されているスクリプト言語であり、強力なデータ処理機能を備えています。その中でも配列は PHP の重要なデータ型の 1 つです。 PHP では、値が配列内に存在するかどうかを判断する必要があることがよくあるため、PHP の値が配列内に存在するかどうかを判断することは非常に一般的な問題です。この記事では、この問題について詳しく説明します。
1. PHP 配列の概要
PHP では、配列は次の特徴を持つ一般的に使用されるデータ型です:
たとえば、次は単純な PHP 配列です:
$cities=array("Beijing","Shanghai","Guangzhou","Shenzhen");
この配列では、$cities
は配列変数名 array( "Beijing","Shanghai","Guangzhou","Shenzhen")
は 4 つの要素で構成される配列です。各要素は文字列型の都市名に対応し、添え字は 0、1、2、3 です。 。
2. PHP で値が配列内にあるかどうかを判断する方法
次に、配列 $arr
と値 $value## があると仮定します。 #, この値が配列内にあるかどうかを判断する必要があります。 PHP でこれを実現するには、
in_array() 関数の使用、
array_search() 関数の使用、
isset() および ## の使用など、いくつかの方法があります。 # array_key_exists()
関数などは以下で別途紹介します。
関数配列内に値が存在することを確認するために使用され、ブール値を返します。 $value
が $arr
に存在する場合は True
を返し、それ以外の場合は False
を返します。 <pre class="brush:php;toolbar:false">in_array($value,$arr);</pre>
これは例です:
$fruits=array("apple","banana","orange","kiwi"); if(in_array("banana",$fruits)){ echo "查找到了值!"; }else{ echo "未查找到值."; }
このコードは
値が見つかりました! を出力します。
関数配列内で検索を試みるために使用されます。要素を検索し、そのキー (つまり、添え字) を返します。 $value
が $arr
に存在する場合は、この要素のキーを返し、それ以外の場合は False
を返します。 <pre class="brush:php;toolbar:false">array_search($value,$arr);</pre>
これは例です:
$fruits=array("apple","banana","orange","kiwi"); $index=array_search("banana",$fruits); echo $index;
このコードは 1 を出力します。
banana は $fruits
配列の 2 番目の要素に対応するためです。下付き文字は 1 です。
が複数の要素に対応する場合、最初に見つかった要素の添字のみが返されることに注意してください。
array_key_exists()
関数を使用して、値が配列内にあるかどうかを判断します
関数は、変数が設定されているかどうかを検出するために使用されます。変数が存在し、値が NULL
でない場合は True
を返し、それ以外の場合は を返します。間違い###。
isset($arr[$key]);
array_key_exists() 関数は、指定されたキーまたはインデックスが配列内に存在するかどうかを確認するために使用されます。 $key が
$arr に存在する場合は
True を返し、それ以外の場合は
False を返します。
array_key_exists($key,$arr);
次は例です:
$fruits=array("apple"=>1,"banana"=>2,"orange"=>3,"kiwi"=>4); if(isset($fruits["banana"])){ echo "查找到了值!"; }else{ echo "未查找到值."; }このコードは、配列内のキー値が
banana## であるため、
値が見つかりました! を出力します。 # 要素。 3. PHP の 3 つのメソッドの比較
関数と
array_search() 関数の使用がより一般的な方法です。も比較的効率的な方法です。 in_array()
この関数はブール値を返します。配列内の要素の位置をクエリする必要がなく、高速です。
関数は配列内の要素のインデックスを返しますが、少し時間がかかります。 isset()
関数と
関数を使用するのは、連想配列 (つまり、添字が文字列である配列) によく使用されます。これら 2 つの関数の違いは、isset()
関数はターゲット値が存在する場合は True
を返し、ターゲット値が存在しない場合は False
を返すことです。 ; および array_key_exists()
この関数は、ターゲット値が存在しない場合は False
を返し、ターゲット値が存在する場合にのみ True
を返します。 4. 概要
配列に値が存在するかどうかを判断することは、PHP の一般的な要件です。この記事では、PHP での 3 つの方法を紹介します:
関数を使用する、
array_search() 関数と isset()
関数および array_key_exists()
関数を使用します。これらの方法は実装が比較的簡単で、必要に応じて選択して使用できます。同時に、実際の状況に応じて他の方法やアルゴリズムを選択することもできます。いずれにせよ、重要なのは正確さと効率のトレードオフです。
以上がPHPで値が配列内にあるかどうかを確認する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。