ホームページ  >  記事  >  バックエンド開発  >  PHPの配列に値が存在するかどうかを確認するにはどうすればよいですか?メソッドの簡単な分析

PHPの配列に値が存在するかどうかを確認するにはどうすればよいですか?メソッドの簡単な分析

PHPz
PHPzオリジナル
2023-04-14 17:45:58841ブラウズ

PHP 開発では、必要に応じて関連する操作を実行するために、配列に特定の値が存在するかどうかを判断する必要があることがよくあります。次に、この記事では実際の例を使用して、配列に特定の値が存在するかどうかを判断するための PHP の関連使用法を紹介します。

1. in_array 関数を使用して判断する

PHP では、in_array 関数を使用して、配列内に値が存在するかどうかを判断できます。具体的な使い方は以下の通りです。

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

このうち、$needleパラメータは検索対象の値、$haystackパラメータは検索対象の配列、$strictパラメータは型チェックを行うかどうかです。 。 $strict パラメータが true の場合、$needle の型が $haystack の値の型と一致するかどうかを確認し、一致しない場合は false を返します。

以下は in_array 関数を使用して判定を行うサンプルコードです:

$arr = array('apple', 'banana', 'orange', 'pear');
if (in_array('orange', $arr)) {
    echo 'orange is in the array';
} else {
    echo 'orange is not in the array';
}

出力結果は次のようになります: orange is in the array。値 orange が $arr 配列に存在することを示します。

もちろん、$needle パラメーターを配列にすることもできるため、$haystack 配列に複数の値が存在するかどうかを一度に判断できます。サンプル コードは次のとおりです。

$arr = array('apple', 'banana', 'orange', 'pear');
$search_arr = array('banana', 'grape');
$res_arr = array_intersect($search_arr, $arr);
if ($res_arr) {
    echo implode(',', $res_arr) . ' are in the array';
} else {
    echo 'no value in the array';
}

出力結果は次のようになります。バナナが配列内にあり、値バナナが $arr 配列内に存在することを示します。

2. 配列キー値を使用して判断する

in_array 関数の使用に加えて、配列キー値を使用して、値が配列内に存在するかどうかを判断することもできます。具体的な方法は、まず array_keys 関数を使用して配列内のすべてのキーを取得し、次に in_array 関数を使用してキーに値が存在するかどうかを確認します。サンプルコードは次のとおりです。

$arr = array('apple', 'banana', 'orange', 'pear');
if (in_array('orange', array_keys($arr))) {
    echo 'orange is in the array';
} else {
    echo 'orange is not in the array';
}

同様に、配列に複数の値が存在するかどうかを一度に判断することもできます。サンプル コードは次のとおりです:

$arr = array('apple', 'banana', 'orange', 'pear');
$search_arr = array('banana', 'grape');
$keys_arr = array_keys($arr);
$res_arr = array_intersect($search_arr, $keys_arr);
if ($res_arr) {
    echo implode(',', $res_arr) . ' are in the array';
} else {
    echo 'no value in the array';
}

3. あいまい一致には in_array 関数を使用します

あいまい一致を実行する場合は、in_array 関数を使用することもできます。具体的な方法は、$haystack 配列内の各値を $needle パラメーターと比較し、$needle と同じプレフィックスを持つ値が存在する場合に true を返すことです。サンプル コードは次のとおりです。

$arr = array('apple', 'banana', 'orange', 'pear');
$prefix = 'or';
foreach ($arr as $k => $v) {
    if (strpos($v, $prefix) === 0) {
        echo $v . "\n";
    }
}

出力結果は次のとおりです。 オレンジ。

4. array_intersect 関数を使って判定する

in_array 関数や配列のキー値の判定以外に、array_intersect 関数を使って判定することもできます。具体的な使用方法は、検索する値を配列に入れ、array_intersect 関数を使用して 2 つの配列の交差部分を取り出し、交差配列に値があるかどうかを判断します。サンプル コードは次のとおりです。

$arr = array('apple', 'banana', 'orange', 'pear');
$search_arr = array('banana', 'grape');
$res_arr = array_intersect($search_arr, $arr);
if ($res_arr) {
    echo implode(',', $res_arr) . ' are in the array';
} else {
    echo 'no value in the array';
}

出力結果は次のようになります。バナナが配列内にあります。

概要

この記事では、php で配列に値が存在するかどうかを判断するさまざまな方法 (in_array 関数の使用、配列のキー値判定の使用、ファジー用の in_array 関数の使用など) を紹介します。マッチングしてarray_intersect関数を使って判定します。さまざまなシナリオにはさまざまな方法が適しており、開発者は実際のニーズに応じて選択できます。

以上がPHPの配列に値が存在するかどうかを確認するにはどうすればよいですか?メソッドの簡単な分析の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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