In PHP gibt es zwei Arten von Arrays, indiziertes Array und assoziatives Array . Im Falle eines indizierten Arrays werden die Array-Elemente numerisch beginnend bei 0 indiziert, wobei wie im Falle eines assoziativen Arrays den Array-Elementen benannte Schlüssel zugeordnet sind.
Um nun zu überprüfen, ob zwei Arrays gleich sind oder nicht, kann eine Iteration über die Arrays durchgeführt werden und geprüft werden, ob für jeden Index der mit index verknüpfte Wert in beiden Arrays gleich ist oder nicht. PHP hat einen eingebauten Array-Operator ( === ), um dasselbe zu überprüfen, aber hier ist die Reihenfolge der Array-Elemente nicht wichtig. Wenn die Reihenfolge der Array-Elemente nicht wichtig ist, können zwei Methoden angewendet werden, um die Array-Gleichheit zu überprüfen, die unten aufgeführt sind:

  • Verwenden Sie die Funktion sort(), um ein Array-Element zu sortieren, und verwenden Sie dann den Gleichheitsoperator.
  • Verwenden Sie den Array-Operator ( == ) im Falle eines assoziativen Arrays.

Gleichheitsprüfung in indizierten Arrays: Dies kann in numerischen Arrays angewendet werden, in denen die String-Integer-Indizierung erfolgt. Verwenden Sie hier die Funktion sort(), um Array-Elemente zu sortieren, und verwenden Sie dann den Gleichheitsoperator, um den Index dieser beiden Arrays mit dem Array-Operator zu überprüfen. Da hier die Reihenfolge der Array-Elemente nicht wichtig ist, werden beim Sortieren alle Array-Elemente nacheinander erstellt. Wenn also zwei Arrays gleich sind, sind die Werte, die demselben Index beider Arrays entsprechen, gleich.

Programm: PHP-Programm zum Überprüfen der Gleichheit zweier Arrays durch Sortieren.

<?php
      
// Program to check equality of array by using
// sort() and equal operator
      
// Sample arrays
$arr1 = array(4, 5, 'hello', 2.45, 3.56);
$arr2 = array(5, 2.45, 'hello', 3.56, 4);
      
// Sort the array elements
sort($arr1);
sort($arr2);
      
// Check for equality
if ($arr1 == $arr2)
    echo "Both arrays are same\n";
else
    echo "Both arrays are not same\n";
      
// Sample arrays
$arr3 = array(5, 'car', 'hello', 2.45, 3.56);
$arr4 = array(4, 2.45, 'hello', 3.56, 'geeks');
      
// Sort the array elements
sort($arr3);
sort($arr4);
      
// Check for equality
if ($arr3 == $arr4)
    echo "Both arrays are same";
else
    echo "Both arrays are not same";
  
?>
Ausgabe:
Beide Arrays sind gleich
Beide Arrays sind nicht gleich

Gleichheitsprüfung in assoziativen Arrays: Im Falle eines assoziativen Arrays ist allen Elementen ein Index zugeordnet, sodass keine Sortierung erforderlich ist. Der Gleichheitsoperator kann direkt angewendet werden, um auf Gleichheit zu prüfen. Grundsätzlich vergleicht der Gleichheitsoperator die Werte, die einem Index in beiden Arrays entsprechen, wenn alle Indexwerte gleich sind, dann sind sie gleich, andernfalls sind sie es nicht.

Syntax: bool $arr1 == $arr2

Im Falle eines indizierten Arrays erfolgt die Sortierung, um die Elemente sequentiell anzuordnen, während im Falle eines assoziativen Arrays die Elemente bereits indiziert sind, sodass eine Sortierung nicht mehr erforderlich ist.

Programm: PHP-Code zum Prüfen der Gleichheit zweier assoziativer Arrays

<?php
      
// Program to check equality of associative array
      
// Sample arrays
$arr1 = array( 'first' => 'geeks',
               'second' => 'for',
               'last' => 'ide'
        );
$arr2 = array( 'first' => 'geeks',
               'last' =>'ide',
               'second' =>'for'
        );
      
// Check for equality
if ($arr1 == $arr2)
    echo "Both arrays are same\n";
else
    echo "Both arrays are not same\n";
      
// Sample arrays
$arr3 = array( 'first' => 'geeks',
               'second' => 'for',
               'last' => 'ide'
        );
$arr4 = array( 'first' => 'geek',
               'second' =>'for',
               'last' =>'geeks'
        );
      
// Check for equality
if ($arr3 == $arr4)
    echo "Both arrays are same";
else
    echo "Both arrays are not same";
  
?>
Ausgabe:
Beide Arrays sind gleich
Beide Arrays sind nicht gleich