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

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 サイトの他の関連記事を参照してください。

声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、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 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

VSCode Windows 64 ビットのダウンロード

VSCode Windows 64 ビットのダウンロード

Microsoft によって発売された無料で強力な IDE エディター

SublimeText3 Linux 新バージョン

SublimeText3 Linux 新バージョン

SublimeText3 Linux 最新バージョン

メモ帳++7.3.1

メモ帳++7.3.1

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

SublimeText3 中国語版

SublimeText3 中国語版

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

mPDF

mPDF

mPDF は、UTF-8 でエンコードされた HTML から PDF ファイルを生成できる PHP ライブラリです。オリジナルの作者である Ian Back は、Web サイトから「オンザフライ」で PDF ファイルを出力し、さまざまな言語を処理するために mPDF を作成しました。 HTML2FPDF などのオリジナルのスクリプトよりも遅く、Unicode フォントを使用すると生成されるファイルが大きくなりますが、CSS スタイルなどをサポートし、多くの機能強化が施されています。 RTL (アラビア語とヘブライ語) や CJK (中国語、日本語、韓国語) を含むほぼすべての言語をサポートします。ネストされたブロックレベル要素 (P、DIV など) をサポートします。