ホームページ >バックエンド開発 >PHPの問題 >PHPで値が配列内にあるかどうかを確認する方法

PHPで値が配列内にあるかどうかを確認する方法

PHPz
PHPzオリジナル
2023-04-25 17:35:41673ブラウズ

PHP は Web 開発で広く使用されているスクリプト言語であり、強力なデータ処理機能を備えています。その中でも配列は PHP の重要なデータ型の 1 つです。 PHP では、値が配列内に存在するかどうかを判断する必要があることがよくあるため、PHP の値が配列内に存在するかどうかを判断することは非常に一般的な問題です。この記事では、この問題について詳しく説明します。

1. PHP 配列の概要

PHP では、配列は次の特徴を持つ一般的に使用されるデータ型です:

  1. PHP 配列は、各要素が順序付けされたリストです。一意のキー値 (つまり、添え字) を持ち、整数または文字列にすることができます。
  2. PHP 配列のキー値は自動的に増加する可能性があります。
  3. 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() 関数などは以下で別途紹介します。

    in_array()
  1. 関数を使用して、値が配列内にあるかどうかを確認します
in_array()

関数配列内に値が存在することを確認するために使用され、ブール値を返します。 $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 "未查找到值.";
}

このコードは

値が見つかりました!

を出力します。

    array_search()
  1. 関数を使用して、値が配列内にあるかどうかを確認します
array_search()

関数配列内で検索を試みるために使用されます。要素を検索し、そのキー (つまり、添え字) を返します。 $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 です。

$value

が複数の要素に対応する場合、最初に見つかった要素の添字のみが返されることに注意してください。

    isset()
  1. 関数と array_key_exists() 関数を使用して、値が配列内にあるかどうかを判断します
isset( )

関数は、変数が設定されているかどうかを検出するために使用されます。変数が存在し、値が 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 つのメソッドの比較

in_array()

関数と

array_search()

関数の使用がより一般的な方法です。も比較的効率的な方法です。 in_array() この関数はブール値を返します。配列内の要素の位置をクエリする必要がなく、高速です。

array_search()

関数は配列内の要素のインデックスを返しますが、少し時間がかかります。 isset() 関数と

array_key_exists()

関数を使用するのは、連想配列 (つまり、添字が文字列である配列) によく使用されます。これら 2 つの関数の違いは、isset() 関数はターゲット値が存在する場合は True を返し、ターゲット値が存在しない場合は False を返すことです。 ; および array_key_exists() この関数は、ターゲット値が存在しない場合は False を返し、ターゲット値が存在する場合にのみ True を返します。 4. 概要 配列に値が存在するかどうかを判断することは、PHP の一般的な要件です。この記事では、PHP での 3 つの方法を紹介します:

in_array()

関数を使用する、

array_search()

関数と isset() 関数および array_key_exists() 関数を使用します。これらの方法は実装が比較的簡単で、必要に応じて選択して使用できます。同時に、実際の状況に応じて他の方法やアルゴリズムを選択することもできます。いずれにせよ、重要なのは正確さと効率のトレードオフです。

以上がPHPで値が配列内にあるかどうかを確認する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。