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

PHPz
リリース: 2023-04-12 14:47:27
オリジナル
1475 人が閲覧しました

PHP は、多くの重要なデータ型とデータ構造が組み込まれた、動的に解釈されるプログラミング言語です。 PHP の配列は、関連データのグループを保存および操作するために使用される非常に一般的なデータ構造です。

PHP では、通常、配列は 1 つ以上のキーと値のペアのコレクションと見なされます。キーは配列内の一意の識別子であり、値はそのキーに関連付けられたデータです。

ただし、場合によっては、指定された配列に特定の値が存在するかどうかを検出する必要があることがよくあります。この場合、指定された配列に文字が存在するかどうかを確認する必要がある場合があります。

幸いなことに、PHP には、配列内に文字が存在するかどうかを検出するために使用できる組み込み関数がいくつか用意されています。次に、よく使われる方法をいくつか紹介します。

  1. in_array() 関数

in_array() 関数は、指定された値が配列内に存在するかどうかを確認できます。存在する場合、関数は TRUE を返し、存在しない場合は FALSE を返します。

以下は、in_array() 関数の一般的な構文です。

in_array($needle, $haystack, $strict);
ログイン後にコピー

$needle パラメータは検索対象の値、$haystack パラメータは検索対象の配列、 $strict パラメータはオプションで、検索で強力な型チェックを行うことを示します。

たとえば、次のコード スニペットは、配列内の値を特定の文字と比較します:

$array = array('apple', 'banana', 'orange');
if (in_array('banana', $array)) {
    echo 'Found banana in the array';
} else {
    echo 'Could not find banana in the array';
}
ログイン後にコピー

出力:

Found banana in the array
ログイン後にコピー
  1. array_search() function

array_search() 関数は、配列内の特定のデータを検索するもう 1 つの方法です。この関数は、配列内で指定された値を検索し、見つかった場合は値のインデックスを返します。それ以外の場合、関数は FALSE を返します。

次は、array_search() 関数の一般的な構文です。

array_search($needle, $haystack, $strict);
ログイン後にコピー

$needle パラメータは検索する値、$haystack パラメータは検索する配列、 $strict パラメータはオプションで、検索で強力な型チェックを行うことを示します。

たとえば、次のコード スニペットは特定の文字を検索し、そのインデックスを返します:

$array = array('apple', 'banana', 'orange');
$index = array_search('banana', $array);
if ($index !== false) {
    echo 'Found banana at index ' . $index;
} else {
    echo 'Could not find banana in the array';
}
ログイン後にコピー

出力:

Found banana at index 1
ログイン後にコピー
  1. in_array() と array_search の違い()

2 つの関数 in_array() と array_search() は基本的に同じ機能を持ち、どちらも配列内に特定の値が存在するかどうかをチェックします。ただし、いくつかの違いがあります。

in_array() 関数は単純なループを使用して値を検索しますが、array_search() 関数はより効率的なアルゴリズムを使用して値を検索します。したがって、大きな配列を検索する場合は、array_search() 関数の方が in_array() 関数よりも高速になる可能性があります。

さらに、in_array() 関数は TRUE または FALSE のみを返すことができますが、array_search() 関数の戻り値はブール型または値のインデックスです。

  1. strpos() 関数

strpos() 関数は、文字列内の特定の文字を検索するもう 1 つの方法です。この関数は、文字列内で最初に出現した特定の文字を検索し、文字列内でのその位置を返します。文字が見つからない場合、関数は FALSE を返します。

次は、strpos() 関数の一般的な構文です。

strpos($haystack, $needle, $offset);
ログイン後にコピー

$haystack パラメータは検索する文字列、$needle パラメータは検索する文字、 $offset パラメータはオプションで、文字列内のどこから検索を開始するかを示します。

たとえば、次のコード スニペットは特定の文字を検索し、その位置を返します:

$string = 'The quick brown fox jumps over the lazy dog.';
$position = strpos($string, 'fox');
if ($position !== false) {
    echo 'Found fox at position ' . $position;
} else {
    echo 'Could not find fox in the string';
}
ログイン後にコピー

出力:

Found fox at position 16
ログイン後にコピー

要約

多くの種類があります。 PHP で利用可能なコードの配列と文字列に特定の文字が存在するかどうかを確認するメソッド。 in_array() 関数と array_search() 関数は、配列内の特定の値を検索するために使用される 2 つの最も一般的なメソッドです。 strpos() 関数は、文字列内の特定の文字を検索するために使用されるメソッドです。どの方法が必要であっても、PHP にはニーズを満たす関数があります。

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

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