ホームページ > バックエンド開発 > PHPの問題 > PHPで指定された文字列が配列に存在するかどうかを確認する方法

PHPで指定された文字列が配列に存在するかどうかを確認する方法

PHPz
リリース: 2023-04-20 09:20:30
オリジナル
730 人が閲覧しました

PHP 開発者にとって、配列は多くの場合必要になります。配列はキーと値のペアで格納されるため、データ量が多い場合、要素の検索に時間がかかることがあります。 PHP には、指定された値が配列に存在するかどうかを調べるためのさまざまな組み込み関数が用意されていますが、この記事では、その一部とそれらの違いを紹介します。

in_array 関数

in_array() 関数は、PHP の組み込み配列関数の 1 つで、配列内の指定された値を見つけるために使用されます。その構文は次のとおりです。

bool in_array ( mixed $needle , array $haystack [, bool $strict = FALSE ] )
ログイン後にコピー

Where,

  • mixed $needle: 検索する値。
  • array $haystack: 検索する配列。
  • bool $strict: 厳密モードを使用するかどうか。 true の場合、検索ではデータ型が比較され、異なる型の値は等しくありません。デフォルトは false です。

この関数は、値が配列内にあるかどうかを示すブール値を返します。そうである場合は true を返し、そうでない場合は false を返します。

たとえば、次のコードは、in_array() 関数を使用して、文字列「apple」が配列 $fruits に存在するかどうかを確認する方法を示しています。出力結果は次のとおりです:

$fruits = array("banana", "orange", "apple", "lemon");

if (in_array("apple", $fruits)) {
    echo "找到了 apple。";
} else {
    echo "没有找到 apple。";
}
ログイン後にコピー

array_search 関数

array_search()

この関数は、PHP の組み込み配列関数の 1 つでもあり、指定された値を検索するために使用されます。配列を取得し、そのキーを返します。その構文は次のとおりです。 <div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false">找到了 apple。</pre><div class="contentsignin">ログイン後にコピー</div></div>Where,

mixed $needle: 検索する値。
  • array $haystack: 検索する配列。
  • bool $strict: 厳密モードを使用するかどうか。 true の場合、検索ではデータ型が比較され、異なる型の値は等しくありません。デフォルトは false です。
  • この関数は、見つかった値のキー (数値キーと関連するキーを使用) を返し、見つからない場合は false を返します。

たとえば、次のコードは、

array_search()

関数を使用して、文字列「apple」が配列 $fruits に存在するかどうかを検索し、そのキーを返す方法を示しています。 出力結果は次のとおりです:

mixed array_search ( mixed $needle , array $haystack [, bool $strict = false ] )
ログイン後にコピー
値に対応するキーが 0 の場合、

array_search()

関数は 0 を返すため、問題が発生する可能性があることに注意してください。プログラムなのでType判定が必要です。

isset 関数と array_key_exists 関数

isset()

関数と

array_key_exists() 関数は、配列内にキーが存在するかどうかを判断するために使用できます。構文は次のとおりです。

$fruits = array("banana", "orange", "apple", "lemon");
$key = array_search("apple", $fruits);

if ($key) {
    echo "找到了 apple,它的键是 " . $key . "。";
} else {
    echo "没有找到 apple。";
}
ログイン後にコピー
その中で、

mixed $var/$key: 検索するキー。

    mixed $...: オプション。複数のキーを検索します。
  • array $array: 検索する配列。
  • 両方の関数は、配列内にキーが存在するかどうかを示すブール値を返します。
2 つの関数の違いは、

isset()

関数は変数が存在するかどうかを判断するためにも使用できることです。変数が宣言されていない場合は、 falseを返します。

array_key_exists() 関数は配列にのみ使用でき、多次元配列の検索はサポートしていません。 たとえば、次のコードは、isset()

関数と

array_key_exists() 関数を使用してキーが存在するかどうかを判断する方法を示しています。 出力結果: <div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false">找到了 apple,它的键是 2。</pre><div class="contentsignin">ログイン後にコピー</div></div>要約

この記事では、PHP 配列内の要素を検索するための 4 つの関数:

in_array()

array_search()# を紹介します。 ## 、

isset() および array_key_exists()。これらの関数は、さまざまなニーズに応じて選択して使用できます。その中でも、array_search() 関数には、ブール値の代わりにキーを返すため、特定の利点があります。ただし、値が配列内にあるかどうかを判断するには、in_array() 関数を使用するのが最善であることに注意してください。キーが 0 の場合、array_search() 関数が使用されるためです。関数は0を返します。 最後に、上記の関数はいずれも多次元配列には適していないことに注意してください。多次元配列の場合、検索操作を完了するには再帰またはその他のアルゴリズムを使用する必要があります。

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

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート