ホームページ  >  記事  >  バックエンド開発  >  PHPの配列に文字列がすでに存在するかどうかを確認する方法

PHPの配列に文字列がすでに存在するかどうかを確認する方法

PHPz
PHPzオリジナル
2023-04-23 09:17:13528ブラウズ

文字列が配列内に既に存在するかどうかを判断することは、PHP ではよくある問題です。実際の開発では、データの繰り返しを避けるために、文字列が配列に格納されているかどうかを判断する必要が生じる場合があります。

この記事では、PHP で配列に文字列が既に存在するかどうかを確認する方法を紹介します。

  1. in_array() 関数を使用する

PHP には、指定された値が配列内にすでに存在するかどうかを判断するために使用できる in_array() 関数が用意されています。

関数のプロトタイプは次のとおりです。

in_array ( mixed $needle , array $haystack [, bool $strict = FALSE ] ) : bool

このうち、$needle パラメータは検索する値、$haystack パラメータは検索する配列、$strict パラメータです。 strict モードを使用するかどうかを示します。 strict モードでは、型の一致に加えて、値も一致する必要があります。

以下は in_array() 関数の使用例です:

<?php

$arr = array("apple", "banana", "orange");

if (in_array("apple", $arr)) {
    echo "字符串存在于数组中";
} else {
    echo "字符串不存在于数组中";
}

?>

上の例では、$arr は 3 つの文字列「apple」、「banana」、「」を含む配列です。オレンジ"。 in_array() 関数を使用して、文字列 "apple" が配列 $arr にあるかどうかを判断します。存在する場合は、「文字列は配列に存在します」と出力され、そうでない場合は、「文字列は配列に存在しません」と出力されます。配列"。

  1. array_search() 関数を使用する

PHP には、配列内の指定された値を検索し、対応するキー名を返す array_search() 関数も提供されています。

関数のプロトタイプは次のとおりです。

array_search ( mixed $needle , array $haystack [, bool $strict = false ] ) : mixed

このうち、$needle パラメータは検索する値、$haystack パラメータは検索する配列、$strict パラメータです。 strict モードを使用するかどうかを示します。 strict モードでは、型の一致に加えて、値も一致する必要があります。

次は、array_search() 関数の使用例です。

<?php

$arr = array("apple", "banana", "orange");

if (array_search("apple", $arr) !== false) {
    echo "字符串存在于数组中";
} else {
    echo "字符串不存在于数组中";
}

?>

上の例では、$arr は 3 つの文字列「apple」、「banana」、「」を含む配列です。オレンジ"。 array_search() 関数を使用して、文字列 "apple" が配列 $arr にあるかどうかを判断します。存在する場合は、「文字列は配列に存在します」と出力され、そうでない場合は、「文字列は配列に存在しません」と出力されます。配列"。 array_search() 関数は 0 を返す可能性があるため、厳密な比較には !== 演算子を使用する必要があることに注意してください。

  1. in_array() 関数と array_map() 関数を使用する

in_array() 関数と array_search() 関数に加えて、in_array() 関数とarray_map( ) 関数を使用して、文字列が配列内にすでに存在するかどうかを判断します。

<?php

$arr = array("apple", "banana", "orange");

function exists_in_array($str, $arr) {
    return in_array($str, $arr);
}

if (in_array("apple", array_map("exists_in_array", "apple", $arr))) {
    echo "字符串存在于数组中";
} else {
    echo "字符串不存在于数组中";
}

?>

上の例では、exists_in_array() という名前の関数を定義しました。この関数の機能は、指定された配列に文字列がすでに存在するかどうかを判断することです。次に、array_map() 関数を使用して、配列 $arr 内の各要素を 2 番目の引数として存在する_in_array() 関数に渡し、文字「apple」を最初の引数として存在する_in_array() 関数に渡します。最後に、返された結果を in_array() 関数に渡して、文字列 "apple" が配列 $arr 内にあるかどうかを判断します。存在する場合は、「文字列は配列内に存在します」を出力し、そうでない場合は、「文字列は存在します」を出力します。配列に存在しません。「真ん中」。

結論

この記事では、配列内に文字列が既に存在するかどうかを判断するための PHP の 3 つの方法、つまり in_array() 関数、array_search() 関数、および in_array() 関数を使用する方法を紹介します。 . と array_map() 関数の組み合わせ。これらの方法を使用すると、データの重複を効果的に回避し、プログラムのパフォーマンスを向上させることができます。

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

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