PHPに配列要素が存在するかどうかを確認する方法

PHPz
リリース: 2023-04-26 15:34:09
オリジナル
744 人が閲覧しました

PHP 開発では、通常、配列を操作する必要があります。配列内の要素を検索する状況に遭遇した場合、PHP を使用して要素が配列内に存在するかどうかを確認するにはどうすればよいでしょうか?この記事では、この問題を解決するために役立つサンプル コードと使用上のヒントをいくつか紹介します。

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

PHP には、指定された要素が配列内に存在するかどうかを判断するのに役立つ組み込み関数があります。この関数は in_array() です。例を見てみましょう:

$fruits = array('apple', 'orange', 'banana', 'grape');
if (in_array('orange', $fruits)) {
    echo '存在';
} else {
    echo '不存在';
}
ログイン後にコピー

この例では、最初にさまざまな果物の名前を含む配列を宣言します。次に、in_array() 関数を使用して、配列に「orange」が存在するかどうかを判断します。 in_array() 関数は、要素がこの配列内に実際に存在する場合は true を返し、それ以外の場合は false を返します。この例では、「orange」が配列内に存在するため、ページ上に「exists」の出力が表示されます。

最初のパラメータは検索する要素の値であり、2 番目のパラメータは検索する配列であることに注意してください。この関数では、3 番目のオプション パラメータ $strict も使用できます。このパラメータは、関数が検索時に各要素の型を考慮するかどうかを示します。デフォルトでは、このパラメータは false で、緩やかな型比較が使用されることを示します。

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

配列内の要素が存在するかどうかを判断できるもう 1 つの PHP 関数は、array_search() です。

$fruits = array('apple', 'orange', 'banana', 'grape');
$key = array_search('orange', $fruits);
if ($key !== false) {
    echo '存在,键是:'.$key;
} else {
    echo '不存在';
}
ログイン後にコピー

この例では、array_search() 関数を使用して、$fruits 配列内の「orange」という名前の要素を検索します。要素が見つかった場合、関数はそのキーを返し、それ以外の場合は false を返します。

戻り値のチェックに != 演算子の代わりに !== 演算子を使用していることに注意してください。これは、「キーが false」と「キーが存在しない」の間を行き来したいためです。区別する。この場合、条件を満たすキーは false ではない任意の値である必要があります。

3. in_array() 関数と厳密なパラメーターを使用する

上記の例に加えて、in_array() 関数の 3 番目のパラメーターを使用することもできます。このパラメータは、比較時に「タイプ」要素が確実に考慮されるため便利です。

$fruits = array('1', '2', '3', 4);
if (in_array(4, $fruits, true)) {
    echo '存在';
} else {
    echo '不存在';
}
ログイン後にコピー

この例では、「存在しません」を出力する結果が得られます。その理由は、$fruits 配列に string 型の要素が含まれており、その中で integer 型の要素を見つけようとしているためです。

ただし、3 番目のパラメーターである型比較を強制する "strict" パラメーターを使用すると、正しい結果が得られます。これは、型と値の両方に一致する要素のみが検索されて返されるためです。

4. isset() 関数と array_key_exists() 関数を使用する

上で説明した方法に加えて、PHP の isset() 関数と array_key_exists() 関数を使用して要素が存在するかどうかを確認することもできます。配列内の .

$fruits = array('apple' => 1, 'orange' => 2, 'banana' => 3, 'grape'=> 4);

if (isset($fruits['apple'])) {
    echo '存在';
} else {
    echo '不存在';
}

if (array_key_exists('orange', $fruits)) {
    echo '存在';
} else {
    echo '不存在';
}
ログイン後にコピー

この例では、$fruits 配列を宣言し、各フルーツに関連付けられた値を定義します。今回は、isset() 関数を使用して「apple」が配列のキーとして存在するかどうかを確認し、「orange」がキーとして存在するかどうかを確認するには、array_key_exists() 関数を使用する必要があります。どのメソッドを使用しても、要素が配列内に存在する限り、「存在する」という結果が得られます。

概要

どの方法を使用しても、PHP の配列に要素が存在するかどうかは簡単に確認できます。 in_array() と array_search() は、配列要素を検索する最も一般的で一般的に使用されるメソッドですが、同時に isset() と array_key_exists() 関数は、配列内に特定のキーが存在するかどうかを確認する際に非常に重要な役割を果たします。どの方法を選択しても、検索する必要がある値が配列内に存在するかどうかを簡単に判断できます。

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

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