ホームページ > バックエンド開発 > PHPの問題 > PHPで2つの配列を比較する方法

PHPで2つの配列を比較する方法

PHPz
リリース: 2023-04-18 10:02:02
オリジナル
2255 人が閲覧しました

PHP は、Web サイト開発やデータ対話で広く使用されているサーバー側スクリプト言語です。 2 つの配列を比較することも基本的な操作の 1 つです。この記事では、2 つの配列を比較するためのいくつかの異なる方法を紹介します。

1. == および === 演算子を使用する

「==」および「===」演算子を使用するのは、2 つの配列を比較する一般的な方法です。 2 つの演算子の違いは、「==」演算子は 2 つの配列のキー値が同じかどうかを比較するのに対し、「===」演算子は 2 つの配列の型が同じであるかどうかも比較することです。同じ。

たとえば、$arr1 = array(1, 2, 3); と $arr2 = array(1, 2, 3); という 2 つの配列があると仮定すると、「==」演算子を使用して比較します。 2 つの配列。配列:

if($arr1 == $arr2){

echo "两个数组相同";
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー

}else{

echo "两个数组不同";
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー

}

If you use " === 演算子は 2 つの配列を比較します:

if($arr1 === $arr2){

echo "两个数组相同";
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー

}else{

echo "两个数组不同";
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー

}

2. array_diff 関数の使用

array_diff 関数の使用は、2 つの配列を比較する方法でもあります。この関数は、array2 にはない array1 の要素で構成される新しい配列を返します。

たとえば、$arr1 = array(1, 2, 3); と $arr2 = array(2, 3); という 2 つの配列があると仮定すると、array_diff 関数を使用して 2 つの配列を比較します。

##$diff = array_diff($arr1, $arr2);

if(count($diff) == 0){

echo "两个数组相同";
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー
}else{

echo "两个数组不同";
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー
}

上記の例では、$diff 配列の長さが 0 の場合、$arr1 と $arr2 の要素が同じであることを意味し、出力は「2 つの配列は同じ」となります。それ以外の場合は、$arr1 と $arr2 の要素が同じであることを意味し、異なる場合は、出力は「2 つの配列は異なります」となります。

3. array_intersect 関数を使用する

array_intersect 関数を使用することも、2 つの配列を比較する方法です。この関数は、array1 と array2 の両方に含まれる要素で構成される新しい配列を返します。

たとえば、$arr1 = array(1, 2, 3); と $arr2 = array(2, 3); という 2 つの配列があると仮定すると、array_intersect 関数を使用して 2 つの配列を比較します。

##$intersect = array_intersect($arr1, $arr2);

if(count($intersect) == count($arr1)){

echo "两个数组相同";
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー

}else{
echo "两个数组不同";
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー

}

上記の例では、$intersect 配列の要素数が $arr1 の要素数と等しい場合、$arr1 と $arr2 の要素が同じであることを意味します。 、「2 つの配列は同じです」と出力されます。それ以外の場合は、$arr1 と $arr2 の要素が異なることを意味し、出力は「2 つの配列は異なります」となります。

4. array_udiff 関数を使用する

array_udiff 関数を使用することも、2 つの配列を比較する方法です。この関数は、配列 1 の要素と配列 2 の要素を比較し、2 つの要素が等しいとみなされる場合、それらは結果の配列には含まれません。

たとえば、$arr1 = array(1, 2, 3); と $arr2 = array(2, 3); という 2 つの配列があると仮定すると、array_udiff 関数を使用して 2 つの配列を比較します。

##$diff = array_udiff($arr1, $arr2, function($a, $b){

if($a === $b){
    return 0;
}
return ($a > $b) ? 1 : -1;
ログイン後にコピー
});

$diff 配列の長さが0 は、$arr1 と $arr2 の要素が同じである場合は、「2 つの配列は同じです」を出力します。それ以外の場合は、$arr1 と $arr2 の要素が異なることを意味し、「2 つの配列は同じです」と出力します。違う"。

概要

上記では 2 つの配列を比較する 4 つの方法を紹介しましたが、それぞれの方法には長所と短所があります。さまざまな方法を使用することで、特定のアプリケーション シナリオに応じて最適な方法を選択できます。同時に、2 つの配列を比較するとき、特に「==」演算子を使用するときは、配列内の要素の順序に注意してください。配列内の要素の順序が異なると、問題が発生する可能性があるためです。配列は異なります。

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

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート