現在の位置: ホーム> 最新記事一覧> 2つの配列のキー名とキー値がまったく同じかどうかを検出する方法は?

2つの配列のキー名とキー値がまったく同じかどうかを検出する方法は?

M66 2025-06-24

PHPプログラミングでは、2つの配列を比較して、キー名とキー値がまったく同じかどうかを判断する必要があることがよくあります。これは、データ検証、構成の比較、その他のシナリオに非常に役立ちます。 PHPは、この関数の実装に役立ついくつかの組み込み関数を提供します。

この記事では、PHPコードを使用して、2つの配列のキー名とキー値がまったく同じかどうかを検出する方法について説明します。

方法1: ==演算子を使用します

PHPでは、 ==演算子を使用して2つの配列を比較できます。アレイのキー名とキー値がまったく同じである場合はtrueを返します(順序は異なる場合があります)。キー名またはキー値の間に矛盾がある場合は、 falseを返します。

たとえば、以下は簡単な例です。

 <?php
$array1 = [
    'name' => 'John',
    'age'  => 30,
    'email'=> 'john@example.com'
];

$array2 = [
    'name' => 'John',
    'age'  => 30,
    'email'=> 'john@example.com'
];

if ($array1 == $array2) {
    echo '2つの配列のキー名とキー値はまったく同じです!';
} else {
    echo '2つの配列は一貫性がありません!';
}
?>

この例では、2つの配列のキー名とキー値はまったく同じであるため、出力「2つの配列のキー名とキー値はまったく同じです!」

方法2: ===オペレーターを使用します

キー名とキー値が一貫しているかどうかを比較するだけでなく、注文が一貫していることを確認する必要がある場合は、 ===オペレーターを使用できます。 ===配列内の注文、タイプ、コンテンツがチェックされます。

サンプルコードは次のとおりです。

 <?php
$array1 = [
    'name' => 'John',
    'age'  => 30,
    'email'=> 'john@example.com'
];

$array2 = [
    'name' => 'John',
    'age'  => 30,
    'email'=> 'john@example.com'
];

if ($array1 === $array2) {
    echo '2つの配列キー名、キーと価値はまったく同じです!';
} else {
    echo '2つの配列は一貫性がありません!';
}
?>

方法3:アイテムごとにアイテムを確認します

配列内の各キー名とキー値が一貫しているかどうかをより注意深く判断する必要がある場合は、アイテムごとの比較のために手動で配列を通過できます。たとえば、 array_diff_assoc()関数を使用すると、異なるキー名またはキー値を持つ2つの配列の一部を返すことができます。

サンプルコードは次のとおりです。

 <?php
$array1 = [
    'name' => 'John',
    'age'  => 30,
    'email'=> 'john@example.com'
];

$array2 = [
    'name' => 'John',
    'age'  => 30,
    'email'=> 'john@m66.net'
];

$diff = array_diff_assoc($array1, $array2);
if (empty($diff)) {
    echo '2つの配列はまったく同じです!';
} else {
    echo '2つの配列には一貫性のない用語があります:';
    print_r($diff);
}
?>

この例では、 array_diff_assoc()は、キー名またはキー値が一貫していない配列の部分を返します。違いがない場合、2つの配列がまったく同じであることを意味します。

方法4:カスタム関数

複数の場所で配列比較を行う必要があり、統一されたソリューションが必要な場合は、カスタム関数を作成できます。これが機能の例です。

 <?php
function arrays_are_identical($array1, $array2) {
    return $array1 === $array2;
}

$array1 = [
    'name' => 'John',
    'age'  => 30,
    'email'=> 'john@m66.net'
];

$array2 = [
    'name' => 'John',
    'age'  => 30,
    'email'=> 'john@m66.net'
];

if (arrays_are_identical($array1, $array2)) {
    echo '2つの配列のキー名とキー値はまったく同じです!';
} else {
    echo '2つの配列は一貫性がありません!';
}
?>

このカスタム関数Arrays_are_Identical()では、 ===を使用して、2つの配列がまったく同じかどうかを判断します。

要約します

PHPは、2つの配列のキー名とキー値が一貫しているかどうかを比較する複数の方法を提供します。ニーズに応じて、最も適切な方法を選択できます。

  • ==演算子を使用して、順序に関係なく、キー名とキー値を比較します。

  • ===オペレーターを使用して、キー名、キー値、および注文を比較します。

  • array_diff_assoc()関数を使用して、一貫性のない部分を見つけます。

  • 比較ロジックを再利用するカスタム関数を作成します。

これらの方法を合理的に使用することにより、2つの配列が完全に一貫しているかどうかを簡単に検出でき、開発作業により多くの利便性を提供できます。