PHP 言語では、配列は頻繁に使用される非常に重要なデータ型です。配列を使用する場合、配列に特定の要素が含まれているかどうかをどのように判断するかという問題に遭遇することがよくあります。この記事では、PHP 配列を使用して、配列に指定された要素が含まれているかどうかを確認する方法を紹介します。
1. in_array() 関数を使用する
PHP では、配列内に値が存在するかどうかを判断するための組み込み関数 in_array() が提供されています。 in_array() 関数は 2 つのパラメータを受け入れます。1 つ目は検索する値、2 つ目は検索する配列です。
たとえば、配列 $arr に値 42 の要素が含まれているかどうかを確認するには、次のコードを使用できます:
$arr = array(1, 2, 3, 4, 42, 5); if (in_array(42, $arr)) { echo "数组中包含值为 42 的元素 "; } else { echo "数组中不包含值为 42 的元素 "; }
出力結果は次のとおりです:
数组中包含值为 42 的元素
in_array()関数は配列内に存在するか否かを判断できるのは整数型と文字列型の値のみなので注意してください 他の型の値(配列、オブジェクト、リソースなど)についてはin_array()関数は判定できません判断するために使用されます。
2. array_search() 関数を使用する
配列内の要素の位置を決定する必要がある場合は、array_search() 関数を使用できます。 array_search() 関数は 2 つのパラメータを受け入れます。1 つ目は検索する値、2 つ目は検索する配列です。要素が見つかった場合、関数は配列内の要素のインデックスを返し、それ以外の場合は false を返します。
たとえば、配列 $arr に値 42 の要素が含まれているかどうかを確認し、配列内の要素の位置を取得するには、次のコードを使用できます。出力結果は次のとおりです:
$arr = array(1, 2, 3, 4, 42, 5); $index = array_search(42, $arr); if ($index !== false) { echo "数组中包含值为 42 的元素,位置为 $index "; } else { echo "数组中不包含值为 42 的元素 "; }
array_search() 関数によって返される位置インデックスは 1 からではなく 0 から始まることに注意してください。つまり、配列内の要素の位置が 3 の場合、 array_search() 関数は戻ります。配列の添字は 0 から始まるため、値は 2 である必要があります。
3. key_exists() 関数を使用する
上記の 2 つの方法に加えて、key_exists() 関数を使用して、配列に指定されたキーが含まれているかどうかを確認することもできます。 key_exists() 関数は 2 つのパラメータを受け入れます。1 つ目は検索するキー、2 つ目は検索する配列です。
たとえば、配列 $arr にキー「foo」を持つ要素が含まれているかどうかを確認するには、次のコードを使用できます。
数组中包含值为 42 的元素,位置为 4
出力結果は次のとおりです。
$arr = array('foo' => 'bar', 'baz' => 'qux'); if (key_exists('foo', $arr)) { echo "数组中包含键为 'foo' 的元素 "; } else { echo "数组中不包含键为 'foo' 的元素 "; }
key_exists() 関数は、配列にキーが含まれているかどうかを判断するためにのみ使用できますが、値は含まれていないことに注意してください。
4. isset() 関数を使用する
PHP では、isset() 関数を使用して、配列に指定されたキーが含まれているかどうかを確認することもできます。 isset() 関数は、決定されるキー名である 1 つのパラメーターを受け入れます。この関数は、キーが存在する場合は true を返し、キーが存在しない場合は false を返します。
たとえば、配列 $arr にキー「foo」を持つ要素が含まれているかどうかを確認するには、次のコードを使用できます。
数组中包含键为 'foo' 的元素
出力結果は次のとおりです。
$arr = array('foo' => 'bar', 'baz' => 'qux'); if (isset($arr['foo'])) { echo "数组中包含键为 'foo' 的元素 "; } else { echo "数组中不包含键为 'foo' 的元素 "; }
isset() 関数は変数が設定されているかどうかを判定するために使用されることに注意してください。変数が存在しない場合、または値が null の場合、この関数は false を返します。
要約すると、in_array() 関数、array_search() 関数、key_exists() 関数、および isset() 関数を使用して、配列に指定された要素が含まれているかどうかを判断できます。状況に応じてさまざまな方法が適しており、開発者は特定の状況に応じてそれらの使用を選択できます。
以上がPHP配列には次のものが含まれていますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。