ホームページ >バックエンド開発 >PHPの問題 >PHPで2次元配列に特定の次元配列が存在するかどうかを確認する方法

PHPで2次元配列に特定の次元配列が存在するかどうかを確認する方法

PHPz
PHPzオリジナル
2023-04-12 09:19:07728ブラウズ

PHP では、多次元配列の処理は一般的なタスクの 1 つです。 2 次元配列の場合、特定の要素を含む 1 次元配列を検索する必要がある場合があります。では、どうすればそれを達成できるのでしょうか?

方法 1: in_array 関数を使用する

PHP の組み込み in_array 関数を使用すると、特定の要素が 1 次元配列に含まれているかどうかを確認できます。したがって、2 次元配列の場合は、1 次元配列をループし、in_array 関数を呼び出してそれぞれ検索することができ、見つかった場合は true を返し、見つからない場合は false を返します。

以下はサンプルコードです:

function searchSubArrayInArray($needle, $haystack) {
  foreach ($haystack as $subArray) {
    if (in_array($needle, $subArray)) {
      return true;
    }
  }
  return false;
}

上記の例では、$needle は検索対象の 1 次元配列を表し、$haystack は検索対象の 2 次元配列を表します。この関数は、存在するかどうかを示す bool 型の値を返します。

in_array 関数は大文字と小文字を区別するため、使用する場合は大文字と小文字に注意する必要があることに注意してください。

方法 2: array_search 関数を使用する

in_array 関数に加えて、PHP には要素を検索する別の方法である array_search 関数も用意されています。この関数は、配列で指定された値を検索し、見つかった場合はその値のキー (つまり、1 次元配列) を返します。見つからない場合は false を返します。

以下はサンプルコードです:

function searchSubArrayInArray($needle, $haystack) {
  foreach ($haystack as $key => $subArray) {
    if (array_search($needle, $subArray) !== false) {
      return $key;
    }
  }
  return false;
}

上記の例では、$needle は検索対象の 1 次元配列を表し、$haystack は検索対象の 2 次元配列を表します。この関数は、int 型の値 (つまり、2 次元配列内の針を含む 1 次元配列のキー)、または false を返します。

複数の一次元配列にニードル要素が含まれている場合、array_search 関数は最初に一致したキーのみを返すことに注意してください。

概要

上記は、2 次元配列に 1 次元配列が含まれているかどうかを判断する 2 つの一般的な方法です。実際のプロジェクトで使用する必要がある場合は、実際の状況に応じてさまざまな方法を選択する必要があります。

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

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