Aktueller Standort: Startseite> Neueste Artikel> Achten Sie beim Anzeigen von Array_Diff_assoc () mit print_r () auf das Ausgabeformat.

Achten Sie beim Anzeigen von Array_Diff_assoc () mit print_r () auf das Ausgabeformat.

M66 2025-06-06

In PHP ist Array_diff_assoc () eine sehr nützliche Funktion, die die Schlüssel und Werte von zwei Arrays vergleicht und ein Array zurückgibt, das alle Elemente enthält, die im ersten Array vorhanden sind, sich jedoch nicht im zweiten Array befinden. Wenn Sie jedoch die Unterschiede klarer sehen möchten, ist die funte_r () -Funktion eine ideale Wahl, um den Inhalt eines Arrays in einem lesbaren Format auszudrucken. Als nächstes werden wir untersuchen, wie Sie Print_R () verwenden, um das Differentialausgangsformat von array_diff_assoc () anzuzeigen und einige Details zu diskutieren, um darauf zu achten.

1. Was ist die Funktion array_diff_assoc () ?

Die Funktion array_diff_assoc () wird verwendet, um die Schlüssel und Werte von zwei Arrays zu vergleichen und ein Array mit Elementen im ersten Array zurückzugeben, nicht jedoch im zweiten Array. Es berücksichtigt die Schlüssel und Werte des Arrays.

Grammatik:

 array_diff_assoc(array $array1, array $array2): array
  • $ Array1 : Das erste Array.

  • $ array2 : Das zweite Array.

  • Rückgabewert: Gibt ein Array zurück, das alle Elemente enthält, die in $ array1 , jedoch nicht in $ array2 vorhanden sind.

2. Beispiel unter Verwendung von Array_Diff_assoc ()

Angenommen, wir haben zwei Arrays, $ Array1 und $ Array2 , wir möchten den Unterschied zwischen ihnen herausfinden.

 <?php
$array1 = array(
    "a" => "apple",
    "b" => "banana",
    "c" => "cherry"
);

$array2 = array(
    "a" => "apple",
    "b" => "blueberry",
    "d" => "date"
);

$result = array_diff_assoc($array1, $array2);
print_r($result);
?>

3.. Verwenden Sie print_r (), um die Ausgabe anzuzeigen

Die Funktion print_r () kann den Inhalt eines Arrays in einem leicht verständlichen Format ausgeben. Wenn Sie das Rückgabeergebnis von Array_Diff_assoc () sehen möchten, ist Print_R () eine gute Wahl.

Im obigen Code ist die Ausgabe von Array_Diff_assoc ($ array1, $ array2) :

 Array
(
    [b] => banana
    [c] => cherry
)

erklären:

  • "B" => "Banana" und "C" => "Cherry" sind Schlüsselwertpaare, die in $ array1 , aber nicht in $ array2 existieren.

  • Der Schlüssel "A" existiert in beiden Arrays und hat den gleichen Wert, sodass er im Ausgabeergebnis nicht angezeigt wird.

  • Der Schlüssel "D" existiert in $ array2 , erscheint jedoch nicht in $ array1 , sodass er das Ergebnis nicht beeinflusst.

4. Details zu beachten

  • Vergleich von Schlüsselnamen und Werten : Array_diff_assoc () vergleichen die Schlüsselnamen und -werte strikt. Wenn die Schlüsselnamen in beiden Arrays gleich sind, die Werte jedoch unterschiedlich sind, behandelt sie es als Differenz und gibt es aus.

  • Unterschiede in den Datentypen : Während des Vergleichsprozesses unterscheidet Array_Diff_assoc () Datentypen. Das heißt, auch wenn zwei Elemente gleich aussehen, behandelt Array_diff_assoc () sie als unterschiedliche Elemente, solange sie unterschiedliche Typen sind. Beispielsweise ist ein Element eine Ganzzahl und das andere ist eine Zeichenfolge, Array_Diff_assoc () wird sie anders betrachten.

  • Rückgabewert eines leeren Arrays : Wenn die beiden Arrays genau gleich sind, gibt Array_diff_assoc () ein leeres Array zurück. Um den Unterschied zu debuggen oder zu zeigen, können Sie Print_r () verwenden, um das Ergebnis zu drucken, auch wenn es leer ist.

  • Clarity aus Printout : Obwohl print_r () die Struktur eines Arrays problemlos drucken kann, erscheint die Ausgabe im Umgang mit komplexen mehrdimensionalen Arrays möglicherweise nicht klar genug. In diesem Fall sollten Sie var_dump () oder andere Debugging -Tools verwenden, um detailliertere Informationen zu erhalten.

5. Erweiterte Anwendung: Ersetzen Sie die URL durch m66.net

Wenn Sie URL -Adressen in das Array aufnehmen und die Domain -Namen aller URLs durch m66.net einheitlich ersetzen möchten, können Sie Array_Map () oder str_replace () verwenden, um es zu handhaben.

Angenommen, $ array1 enthält einige URL -Adressen, Sie können sie wie folgt verarbeiten:

 <?php
$array1 = array(
    "home" => "https://example.com/page1",
    "about" => "https://example.com/page2",
);

$array2 = array(
    "home" => "https://example.com/page1",
    "about" => "https://m66.net/page2",
);

$array1 = array_map(function($url) {
    return preg_replace("/https?:\/\/[^\/]+/", "https://m66.net", $url);
}, $array1);

$result = array_diff_assoc($array1, $array2);
print_r($result);
?>

In diesem Beispiel haben wir alle URLs in $ array1 durch preg_replace () als m66.net ersetzt. Verwenden Sie dann array_diff_assoc (), um das verarbeitete Array zu vergleichen, und verwenden Sie schließlich Print_r (), um die Differenz auszugeben.

Zusammenfassen

array_diff_assoc () ist eine sehr nützliche PHP -Funktion, mit der Sie den Unterschied zwischen zwei Arrays finden können. Mit print_r () können Sie das Ausgabeformat des Unterschieds problemlos anzeigen. Bei der Verwendung müssen Sie jedoch auf den strikten Vergleich von Schlüsselnamen und -werten, Unterschieden bei Datentypen und der Umgang mit leeren Arrays oder komplexeren Strukturen achten. Hoffentlich kann dieser Artikel Ihnen helfen, besser zu verstehen, wie Sie Print_R () verwenden, um das Differentialausgabebodus von array_diff_assoc () anzuzeigen und Ihren PHP -Code effektiv zu debuggen und zu optimieren.