Aktueller Standort: Startseite> Neueste Artikel> Wie Verwende ich Array_Change_key_Case () in Kombination mit Array_Diff_key () für den Schlüsselwertvergleich?

Wie Verwende ich Array_Change_key_Case () in Kombination mit Array_Diff_key () für den Schlüsselwertvergleich?

M66 2025-04-24

In PHP sind die Schlüsselnamen von Arrays standardmäßig Fallempfindlichkeit. Dies bedeutet, dass PHP, wenn Sie zwei Arrays haben, eine mit den Tasten von UserID und die andere mit UserID , als zwei verschiedene Schlüssel betrachtet. Wenn Sie die Schlüsselnamen des Arrays erstellen möchten, können Sie in Kombination array_change_key_case () und array_diff_key () verwenden.

1. Funktion Einführung

  • Array_Change_key_Case (Array $ Array, int $ case = case_lower) : Konvertieren Sie alle Schlüsselnamen des Arrays in Kleinbuchstaben oder Großbuchstaben.

  • Array_Diff_Key (Array $ Array1, Array $ Array2) : Vergleichen Sie die Schlüsselnamen von zwei oder mehr Arrays und geben Sie diese Schlüsselwertepaare im ersten Array zurück, die sich nicht in anderen Arrays befinden.

Wenn Sie zuerst Array_Change_key_case () verwenden, um die Schlüsselnamen der beiden Arrays in Kleinbuchstaben (oder Großbuchstaben) zu vereinen, können Sie Array_Diff_key () verwenden, um den Vergleich von Fallunabhängiger Schlüsselname zu erreichen.

2. Beispielcode

 <?php

// Originalarray
$array1 = [
    'UserID' => 1,
    'UserName' => 'Alice',
    'Email' => 'alice@m66.net',
];

$array2 = [
    'userid' => 2,
    'username' => 'Bob',
    'Phone' => '1234567890',
];

// Konvertieren Sie beide Arrayschlüssel in Kleinbuchstaben
$lower1 = array_change_key_case($array1, CASE_LOWER);
$lower2 = array_change_key_case($array2, CASE_LOWER);

// Finde es heraus $array1 Die in $array2 Keine Schlüssel in(Fall ignorieren)
$diffKeys = array_diff_key($lower1, $lower2);

// Den Differentialschlüsselnamen und den entsprechenden Wert ausgeben
print_r($diffKeys);

?>

3. Ausgangsergebnis

 Array
(
    [email] => alice@m66.net
)

Wie im obigen Beispiel gezeigt, ist die Inhaltslogik, obwohl BenutzerID und Benutzername in den beiden Arrays unterschiedliche Schlüsselnamen haben. Nach Array_Change_key_Case () konvertiert array_diff_key () sie als die gleichen Tasten. Nur die E -Mail erscheint nicht in $ array2 , daher wird sie beibehalten.

4. Tipps

  • Wenn Sie das Schlüsseldamenformat (Fall) des ursprünglichen Arrays aufbewahren müssen, können Sie zunächst das Ergebnis des Schlüsseldamenkonvertings zum Vergleich verwenden und dann zurückkehren, um den entsprechenden Schlüsselwert aus dem ursprünglichen Array zu extrahieren.

  • Diese Kombination ist ideal für die Behandlung von dynamischen Daten, die von Benutzern eingegeben wurden, z. B. die Feldüberprüfung während der Einreichung von Formularen oder API -Anforderung.

5. Zusammenfassung

Durch die Verwendung von Array_Diff_key () kann die Vergleichslogik des Fall-unempfindlichen Schlüsselnamens nach der einheitlich festgestellten Schlüsselnamen anmutig implementiert werden. Diese Methode ist sowohl einfach als auch effizient und eine praktische Fähigkeit im Umgang mit einem Datenvergleich mit mehreren Source.