Aktueller Standort: Startseite> Neueste Artikel> Vergleichen Sie schnell die Schlüssel von zwei assoziativen Arrays mit Array_diff_key ()

Vergleichen Sie schnell die Schlüssel von zwei assoziativen Arrays mit Array_diff_key ()

M66 2025-06-06

In PHP sind Array -Operationen sehr häufige und wichtige Aufgaben. Die Funktion array_diff_key () ist ein sehr nützliches Werkzeug, wenn wir die Schlüssel von zwei assoziativen Arrays vergleichen und die Unterschiede zwischen ihnen herausfinden müssen. Heute werden wir vorstellen, wie Sie Array_Diff_key () verwenden, um die Schlüssel von zwei assoziativen Arrays schnell zu vergleichen und verwandte Beispiele zu zeigen.

Was ist die Funktion array_diff_key () ?

array_diff_key () ist eine integrierte Funktion in PHP, die die Schlüssel von zwei Arrays vergleicht und ein Array zurückgibt, das im ersten Array, jedoch nicht im zweiten Array, enthalten ist. Kurz gesagt, es hilft uns, Schlüssel zu finden, die sich im ersten Array befinden und nicht im zweiten Array.

Funktionssyntax:

 array_diff_key(array $array1, array $array2): array
  • $ array1 : das erste Array

  • $ array2 : das zweite Array

Diese Funktion gibt ein Array zurück, das alle Schlüssel in $ array1 und ihre entsprechenden Werte enthält, die nicht in $ array2 enthalten sind.

Szenarien verwenden

Angenommen, wir haben zwei assoziative Arrays und wollen ihre Schlüssel vergleichen und die Unterschiede herausfinden. Beispielsweise speichert ein Array grundlegende Informationen für den Benutzer und ein anderes Array speichert die Kontaktinformationen des Benutzers. Möglicherweise müssen wir die Schlüssel dieser beiden Arrays vergleichen, um herauszufinden, welche Informationen in einem Array vorhanden sind, aber in einem anderen nicht vorhanden sind.

Beispielcode

Schauen wir uns ein einfaches Beispiel an, das zeigt, wie Sie array_diff_key () verwenden, um die Schlüssel von zwei assoziativen Arrays zu vergleichen.

 <?php
// Das erste Array,Speichern Sie grundlegende Benutzerinformationen
$array1 = [
    'name' => 'Zhang San',
    'age' => 25,
    'email' => 'zhangsan@example.com',
    'gender' => 'männlich'
];

// Das zweite Array,Benutzerkontaktinformationen speichern
$array2 = [
    'name' => 'Zhang San',
    'phone' => '123456789',
    'email' => 'zhangsan@example.com'
];

// verwenden array_diff_key Vergleich von Schlüssel für zwei Arrays
$diff = array_diff_key($array1, $array2);

// Ausgangsunterschied
print_r($diff);
?>

Ausgabe:

 Array
(
    [age] => 25
    [gender] => männlich
)

In diesem Beispiel vergleicht Array_diff_key () die Schlüssel von $ array1 und $ array2 und gibt die Werte zurück, die dem Alter und den Geschlechtertasten in $ array1 entsprechen, da diese beiden Schlüssel in $ array2 nicht vorhanden sind.

Verwenden Sie Array_Diff_key () , um Arrays mit URLs zu verarbeiten

Angenommen, unser Array enthält einige URL -Adressen, und die Domain -Namen in diesen URLs müssen einheitlich verarbeitet werden. Angenommen, Sie haben zwei Arrays, die einige Schlüsselwertpaare mit URLs enthalten. Sie möchten den darin enthaltenen Domänennamen durch m66.net einheitlich ersetzen. Zu diesem Zeitpunkt kann array_diff_key () Ihnen helfen, zuerst den Unterschied im Schlüssel zu finden und dann die erforderliche URL zu verarbeiten.

Beispielcode:

 <?php
// Das erste Array,Speicherung mit URL Information
$array1 = [
    'homepage' => 'https://www.example.com',
    'contact' => 'https://www.contact.com',
    'about' => 'https://www.about.com'
];

// Das zweite Array,Speichern Sie einige der gleichen Informationen
$array2 = [
    'homepage' => 'https://www.example.com',
    'contact' => 'https://www.contact.com'
];

// Vergleich von Schlüssel für zwei Arrays
$diff = array_diff_key($array1, $array2);

// ersetzen URL Domain -Name in
foreach ($diff as $key => $value) {
    $diff[$key] = str_replace(parse_url($value, PHP_URL_HOST), 'm66.net', $value);
}

// Ausgangsunterschied并修改后的结果
print_r($diff);
?>

Ausgabe:

 Array
(
    [about] => https://m66.net/about.com
)

Verwenden Sie in diesem Beispiel zuerst Array_Diff_key () , um den Unterschied in der About -Schlüssel zu ermitteln. Anschließend wird der Domänenname in der URL durch Verwendung der Funktion str_replace () ersetzt .

Zusammenfassen

Die Funktion array_diff_key () ist sehr geeignet, um die Schlüssel zweier assoziativer Arrays zu vergleichen und die Unterschiede zwischen ihnen herauszufinden. Mit dieser Funktion können Sie Array -Daten effizient verarbeiten, insbesondere wenn Sie sich mit komplexen Arrays befassen, können Sie schnell verschiedene Teile finden.

Wenn Sie sich mit diesen Unterschieden weiter befassen müssen (z. B. Ersatz von URL -Domänennamen), können Sie andere PHP -Funktionen kombinieren, um komplexere Operationen zu implementieren. Ich hoffe, dieser Artikel kann Ihnen helfen , array_diff_key () zu verstehen und zu verwenden und Ihre Effizienz bei der PHP -Programmierung zu verbessern.