インターネットの発展に伴い、さまざまな Web サイトやアプリケーションの開発がプログラマーの主要な仕事の 1 つになってきています。このプロセスでは、配列操作が非常に一般的な操作です。優れた Web サイト開発言語である PHP の配列操作機能も非常に強力で柔軟です。
この記事では、主に PHP 配列交差の関連使用方法を紹介し、読者の参考になれば幸いです。
1. 配列とは
配列の共通部分を紹介する前に、配列とは何かを簡単に紹介しましょう。
配列は、順序付けられた値 (要素) のセットを表す一般的なデータ型です。各要素には、対応する要素値にアクセスできるインデックス値があります。 PHP の配列は、要素の添え字にアクセスするためのキーを必要とするハッシュ テーブルまたはマップとして見ることができます。
配列の定義形式は次のとおりです: $array = array('value1', 'value2', ..., 'valueN');
そのうち、value1, value2, ... .、valueN は配列要素の値を意味します。配列内の要素には、整数型または文字列型のキーを使用してアクセスできます (例: $array[0]、$array['foo'] )。
2. 2 つの配列の共通部分を見つける方法
2 つの配列の共通部分を見つけるには、両方の配列に存在する要素を見つけるのがわかりやすい方法です。 PHP でこれを実現するには、いくつかの方法があります。
array_intersect() 関数は、配列の交差部分を計算するために使用され、複数のパラメーター配列に同時に出現する値を含む配列を返します。返される配列要素の順序は、最初のパラメーター配列の順序と同じです。
例:
$arr1 = array(1, 2, 3, 4); $arr2 = array(3, 4, 5, 6); $result = array_intersect($arr1, $arr2); print_r($result); // 输出结果为 Array ( [2] => 3 [3] => 4 )
array_intersect_assoc() 関数は、配列の共通部分を計算する (キー名とキー値を比較する) ために使用されます。この関数は、複数のパラメータ配列に同時に現れるキー名とキー値を含む配列を返します。返される配列要素の順序は、最初のパラメータ配列の順序と同じです。
例:
$arr1 = array("a" => "red", "b" => "green", "c" => "blue"); $arr2 = array("a" => "red", "b" => "blue", "c" => "green"); $result = array_intersect_assoc($arr1, $arr2); print_r($result); // 输出结果为 Array ( [a] => red )
array_uintersect() 関数は、ユーザーを使用して配列の交差部分を計算し、配列値を比較するために使用されます。 -定義されたコールバック関数。この関数は、複数の引数の配列に同時に現れる値を含む配列を返します。返される配列要素は最初の引数の配列と同じ順序です。
例:
function myfunction($a, $b) { if ($a === $b) { return 0; } return ($a > $b) ? 1 : -1; } $arr1 = array("a" => "red", "b" => "green", "c" => "blue"); $arr2 = array("a" => "red", "b" => "blue", "c" => "green"); $result = array_uintersect($arr1, $arr2, "myfunction"); print_r($result); // 输出结果为 Array ( [a] => red )
これらの関数を使用する場合、渡される配列パラメーターは実数の配列型でなければならないことに注意する必要があります。配列型でない場合、関数はスローします。 E_WARNING の間違いです。
3. 概要
この記事の導入部を通じて、PHP で 2 つの配列の共通部分を見つけるのは非常に簡単であることがわかります。 PHP が提供する関連関数を使用するだけで、配列の交差演算を簡単に実装できます。実際のアプリケーションでは、これらの方法を柔軟に適用して、プログラムの効率と可読性を向上させることができます。
読者が PHP の配列操作について詳しく知りたい場合は、PHP 公式ドキュメントの配列関連の章を参照してください。
以上がPHP配列の交差部分を見つける方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。