Vergleichen zwei Arrays in PHP

Olorunfemi Akinlua 30 Januar 2023
  1. Verwenden Sie die Operatoren == und !=, um zwei Arrays in PHP zu vergleichen
  2. Verwenden Sie die Operatoren === und !==, um zwei Arrays in PHP zu vergleichen
  3. Verwenden Sie die Funktion sort(), um zwei Arrays zu vergleichen, wenn die Reihenfolge in PHP nicht wichtig ist
  4. Verwenden Sie die Funktion array_diff(), um zwei Arrays zu vergleichen und den Unterschied in PHP zurückzugeben
  5. Verwenden Sie die Funktion array_intersect(), um zwei Arrays zu vergleichen und die Übereinstimmungen in PHP zurückzugeben
Vergleichen zwei Arrays in PHP

Alle Arten von Operationen werden mit Arrays unterschiedlicher Komplexität durchgeführt, und Vergleichsoperationen sind nicht anders. Wenn wir zwei Werte vergleichen, wollen wir verstehen, wie ähnlich oder unähnlich sie sind.

Mit Zahlen (Integer und Float), Zeichen und Strings kann es einfach sein. Bei Arrays kann es jedoch etwas kompliziert werden.

Machen Sie sich keine Sorgen, denn es ist einfach und es gibt verschiedene Operatoren, die wir verwenden können. Unabhängig davon, ob der Vergleich streng ist oder nicht, gibt es einen Operator.

In diesem Artikel werden vier Operatoren und drei Funktionen betrachtet, die den Vergleich zweier Arrays einfach machen, und anhand hervorragender Beispiele erläutert, wie dies möglich ist.

Verwenden Sie die Operatoren == und !=, um zwei Arrays in PHP zu vergleichen

Der erste Operator ist der Operator ==. Es ist der Gleichheitsoperator, und wenn wir zwei Arrays mit diesem Operator vergleichen, wollen wir wissen, ob das erste Array gleich dem zweiten Array ist.

Vergleichsoperationen konzentrieren sich darauf, Ähnlichkeiten oder Unterschiede zwischen zwei Werten zu finden. Mit dem Operator == erhalten Sie also eine boolesche Antwort, wobei TRUE für Ähnlichkeit und FALSE für Unähnlichkeit steht.

Hier verwendet der Code den Operator ==, um zwei Arrays zu vergleichen.

<?php

$arr1 = array(4, 5, 'hello', 2.45, 3.56);
$arr2 = array(5, 2.45, 'hello', 3.56, 4);

// Check for equality
if ($arr1 == $arr2)
    echo "Similar Arrays";
else
    echo "Not Similar Arrays";

?>

Ausgabe:

Not Similar Arrays

Sie können den Operator != verwenden, einen Ungleichheitsoperator. Wenn wir zwei Arrays mit diesem Operator vergleichen, möchten wir wissen, ob das erste Array ungleich dem zweiten Array ist.

Es gibt eine boolesche Antwort aus, wobei TRUE für Unähnlichkeit und FALSE für Ähnlichkeit steht.

<?php

$arr1 = array(4, 5, 'hello', 2.45, 3.56);
$arr2 = array(5, 2.45, 'hello', 3.56, 4);

// Check for inequality
if ($arr1 != $arr2)
    echo "Not Similar Arrays";
else
    echo "Similar Arrays";

?>

Ausgabe:

Not Similar Arrays

Diese beiden Operatoren arbeiten mit assoziativen und mehrdimensionalen Arrays und vergleichen nur die Werte, nicht die Schlüssel.

Verwenden Sie die Operatoren === und !==, um zwei Arrays in PHP zu vergleichen

Ähnlich wie die Operatoren == ermöglicht der Operator === den Vergleich zweier Werte auf Ähnlichkeit. Der Operator == gibt jedoch TRUE zurück, wenn das erste Array und das zweite Array im Kontext assoziativer Arrays dieselben Schlüssel/Wert-Paare haben.

=== gibt jedoch TRUE zurück, wenn das erste Array und das zweite Array die gleichen Schlüssel/Wert-Paare in der gleichen Reihenfolge und vom gleichen Typ haben.

Unter Verwendung der gleichen Codes im vorherigen Abschnitt werden wir einige Typänderungen vornehmen und sowohl die Operatoren == als auch === verwenden.

<?php

$arr1 = array(4, 5, 'hello', 2.45, 3.56);
$arr2 = array('4', '5', 'hello', '2.45', '3.56');

// Check for equality
if ($arr1 == $arr2)
    echo "Similar Arrays";
else
    echo "Not Similar Arrays";

?>

Ausgabe:

Similar Arrays

Wenn wir den Operator === verwenden

<?php

$arr1 = array(4, 5, 'hello', 2.45, 3.56);
$arr2 = array('4', '5', 'hello', '2.45', '3.56');

// Check for equality
if ($arr1 === $arr2)
    echo "Similar Arrays";
else
    echo "Not Similar Arrays";

?>

Wenn wir es mit assoziativen Arrays verwenden, sehen wir dasselbe Verhalten. Im folgenden Code vergleichen wir die beiden Arrays in Bezug auf ihren Wert und nicht auf ihre Schlüssel.

<?php

$arr1 = array("first" => 4, "second" => 5, "type" => 'hello');
$arr2 = array("one" => '4', "two" => '5', "third" => 'hello', );

// Check for equality
if ($arr1 === $arr2)
    echo "Similar Arrays";
else
    echo "Not Similar Arrays";

?>

Ausgabe:

Not Similar Arrays

Verwenden Sie die Funktion sort(), um zwei Arrays zu vergleichen, wenn die Reihenfolge in PHP nicht wichtig ist

Für Fälle, in denen die Reihenfolge der Elemente nicht wichtig ist, können Sie die Funktion sort() verwenden und die beiden Arrays vergleichen. Daher wenden Sie die Funktion sort() auf beide Arrays an und vergleichen dann die sortierten Arrays auf Gleichheit.

<?php

$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, when sorted";
else
    echo "Both arrays are not same, even when sorted";

?>

Ausgabe:

Both arrays are same, when sorted

Verwenden Sie die Funktion array_diff(), um zwei Arrays zu vergleichen und den Unterschied in PHP zurückzugeben

Wir können zwei Arrays vergleichen und den Unterschied zurückgeben zwischen den beiden Arrays, und dazu verwenden wir die Funktion array_diff(). Mit dieser Funktion können wir zwei Arrays vergleichen und ein Rückgabearray erwarten, das Elemente im ersten Array enthält, die nicht im zweiten Array enthalten sind.

<?php

$first = array("12", 34, true, 45, 67);
$second = array("12", 21, 89, 45);

print_r(array_diff($first, $second));

?>

Ausgabe:

Array
(
    [1]    34
    [2]    1
    [4]    67
)
   true

Sie müssen die Reihenfolge kennen, in der Sie die Arrays in den Funktionen array_diff() platzieren, die ein Array zurückgeben. Wenn wir mit demselben Code die Reihenfolge der Arrays ändern, ist die folgende Ausgabe das Ergebnis.

Array
(
    [1]    21
    [2]    89
)
   true

Und wenn es keinen Unterschied gibt, gibt der Code ein leeres Array zurück.

Verwenden Sie die Funktion array_intersect(), um zwei Arrays zu vergleichen und die Übereinstimmungen in PHP zurückzugeben

Mit der Funktion array_intersect() können Sie zwei Arrays vergleichen und die Elemente zurückgeben, die in beiden Elementen vorhanden sind. Unter Verwendung der gleichen zwei Arrays im vorherigen Abschnitt finden Sie 12 und 45 im Rückgabearray.

<?php

$first = array("12", 34, true, 45, 67);
$second = array("12", 21, 89, 45);

print_r(array_intersect($first, $second));

?>

Ausgabe:

Array
(
    [0]    12
    [3]    45
)
   true
Olorunfemi Akinlua avatar Olorunfemi Akinlua avatar

Olorunfemi is a lover of technology and computers. In addition, I write technology and coding content for developers and hobbyists. When not working, I learn to design, among other things.

LinkedIn

Verwandter Artikel - PHP Array