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

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

Apr 26, 2023 pm 02:19 PM

配列は、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 までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)