ホームページ >バックエンド開発 >PHPの問題 >PHPは配列にデータが存在するかどうかを判断します

PHPは配列にデータが存在するかどうかを判断します

PHPz
PHPzオリジナル
2023-05-19 16:32:09700ブラウズ

php では、データが配列内に存在するかどうかを確認する必要があることがよくあります。現時点では、次の方法を使用できます:

1. in_array 関数を使用します:

in_array 関数は、配列内にデータが存在するかどうかを判断するために PHP で一般的に使用される関数です。その関数プロトタイプは次のとおりです。

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

このうち、needle パラメータは検索する値を示し、haystack は検索する配列を示し、strict は比較に strict モードを使用するかどうかを示します。例:

$arr = array(1, 2, 3, 'a', 'b', 'c');
if (in_array(1, $arr)) {
    echo '存在';
} else {
    echo '不存在';
}

上記のコードでは、まず配列 $arr を定義し、次に in_array 関数を使用してその中に 1 が入っているかどうかを判断します。実際に 1 が配列内にあるため、出力は「存在」します。

2. array_search 関数を使用します:

array_search 関数は、配列内にデータが存在するかどうかを判断する別の関数です。その関数プロトタイプは次のとおりです:

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

neede パラメータは検索する値を示し、haystack は検索する配列を示し、strict は比較に厳密モードを使用するかどうかを示します。見つかった場合、関数は配列内の要素のキー名を返し、それ以外の場合は false を返します。例:

$arr = array(1, 2, 3, 'a', 'b', 'c');
$key = array_search('a', $arr);
if ($key !== false) {
    echo '存在于数组中,键名为:' . $key;
} else {
    echo '不存在';
} 

上記のコードでは、配列 $arr を定義し、array_search 関数を使用して配列内の値 'a' を検索します。存在する場合はキー名を返し、それ以外の場合は false を返します。 。

3. in_array と array_search のカスタム関数を使用する:

さまざまなニーズに応じて、配列内にデータが存在するかどうかを判断するために関数をカスタマイズする必要がある場合があります。たとえば、文字列が別の文字列の部分文字列であるかどうか (つまり、文字列に含まれているかどうか) を判断したい場合は、次のコードを使用できます。

function is_substr($str, $substr) {
    return strpos($str, $substr) !== false;
}

$str = 'hello world';
$substr = 'world';
if (is_substr($str, $substr)) {
    echo '包含';
} else {
    echo '不包含';
}

上記のコードでは、カスタム関数 is_substr は次のとおりです。文字列が別の文字列の部分文字列であるかどうかを判断するには、PHP の組み込み関数 strpos が使用されます。この関数は、別の文字列内の文字列の位置を返します。文字列が存在しない場合は false を返します。見つかった場合、つまり位置が負でない場合、関数は true を返し、それ以外の場合は false を返します。

要約すると、PHP で配列内にデータが存在するかどうかを判断するには、in_array 関数と array_search 関数が最も一般的に使用され、便利です。特別なニーズがある場合は、対応する機能をカスタマイズできます。

以上がPHPは配列にデータが存在するかどうかを判断しますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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