ホームページ  >  記事  >  バックエンド開発  >  PHPで配列の交差部分を見つける方法

PHPで配列の交差部分を見つける方法

PHPz
PHPzオリジナル
2023-04-26 14:19:224152ブラウズ

配列は、PHP プログラミングで広く使用されているデータ構造であり、配列を操作する場合は交差演算が一般的な要件です。 PHP では、さまざまな方法を使用して 2 つ以上の配列の共通部分を見つけることができます。この記事では、このトピックについて詳しく説明し、紹介します。

最初の方法は、array_intersect 関数を使用して 2 つの配列の共通部分を見つけることです。この関数は 2 つ以上の配列を引数として受け取り、これらの配列内の要素の共通部分を返します。 array_intersect 関数を使用したサンプル コードを次に示します。

$firstArray = array("apple", "orange", "banana", "pear");
$secondArray = array("pear", "watermelon", "grape", "banana");

$result = array_intersect($firstArray, $secondArray);

print_r($result);

上記のコードは、「banana」と「pear」を含む配列を返します。両方の要素が $firstArray と $secondArray の両方に存在するためです。

2 番目の方法は、組み込み関数 array_values を使用して交差配列内の値を逆アセンブルすることです。分解された値は依然として配列であり、交差部分の値のみが含まれます。以下は、array_values 関数を使用したサンプル コードです:

$firstArray = array("apple", "orange", "banana", "pear");
$secondArray = array("pear", "watermelon", "grape", "banana");

$result = array_intersect($firstArray, $secondArray);

$result = array_values($result);

print_r($result);

実行後、交差要素を含む新しい配列、つまり「banana」と「pear」が返されます。

3 番目の方法は、foreach ループ ステートメントを使用して最初の配列を走査し、その要素が 2 番目の配列にも存在するかどうかを確認することです。要素が 2 番目の配列に存在する場合、その要素は交差配列に追加されます。 foreach ループ ステートメントを使用したサンプル コードを次に示します。

$firstArray = array("apple", "orange", "banana", "pear");
$secondArray = array("pear", "watermelon", "grape", "banana");

$result = array();

foreach ($firstArray as $value) {
    if (in_array($value, $secondArray)) {
        $result[] = $value;
    }
}

print_r($result);

このコードを実行すると、交差要素を含む新しい配列が返されます。

4 番目の方法は、array_filter 関数を使用して 2 つの配列の共通部分をフィルター処理することです。この関数は 2 つのパラメータを受け取ります。最初のパラメータはフィルタリングされる配列で、2 番目のパラメータはコールバック関数です。コールバック関数は配列のフィルター処理に使用され、条件を満たす要素のみが保持されます。 array_filter 関数を使用したサンプル コードは次のとおりです。

$firstArray = array("apple", "orange", "banana", "pear");
$secondArray = array("pear", "watermelon", "grape", "banana");

$result = array_filter($firstArray, function($item) use ($secondArray) {
    return in_array($item, $secondArray);
});

print_r($result);

このコードを実行すると、交差要素を含む新しい配列が返されます。

要約すると、2 つの配列の共通部分を見つけるために使用できるさまざまな方法がたくさんあります。最も簡単な方法は、array_intersect 関数を使用し、返された配列に対して array_values 関数を使用して交差部分を分割することです。基本的な交差演算は、foreach ループ ステートメントと in_array 関数を使用して実装することもできます。最後に、array_filter 関数は、コールバック関数を使用して交差演算を実装し、交差計算ルールをより柔軟に調整できる、より高度なメソッドを提供します。

以上がPHPで配列の交差部分を見つける方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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