In PHP wird die Funktion array_diff_key () verwendet, um die wichtigsten Unterschiede zwischen zwei oder mehr Arrays zu berechnen. Es vergleicht die Schlüssel von zwei Arrays und gibt die Schlüssel und ihre Werte im ersten Array zurück, nicht jedoch in den anderen Arrays.
Normalerweise übergeben wir zwei Arrays an array_diff_key () , was basierend auf dem Schlüssel vergleichbar ist. Aber wenn der Schlüssel des Arrays null ist, wie wird diese Funktion damit umgehen? Als nächstes werden wir dieses Problem anhand von Code -Beispielen untersuchen.
Lassen Sie uns zunächst die grundlegende Syntax der Funktion array_diff_key () überprüfen:
array_diff_key(array $array1, array $array2, array ...$arrays): array
$ array1 ist das erste Array, und die Funktion sucht nach allen Schlüssel, die nicht in anderen Arrays aus diesem Array enthalten sind.
$ array2, ... $ arrays sind ein oder mehrere Arrays, die von array_diff_key () verwendet werden, um die Schlüsselwerte zu vergleichen.
Schauen wir uns an, wie Array_Diff_key () sich verhalten wird, wenn der Schlüssel des Arrays null ist. Betrachten Sie das folgende Beispiel:
<?php
$array1 = [
null => 'value1',
'key2' => 'value2',
'key3' => 'value3'
];
$array2 = [
null => 'value4',
'key2' => 'value5'
];
$result = array_diff_key($array1, $array2);
print_r($result);
?>
In diesem Beispiel haben wir zwei Arrays $ Array1 und $ Array2 . Unter ihnen enthalten beide Arrays ein Element mit einem Schlüsselnull . Nach dem Ausführen des Codes lautet das Ergebnis wie folgt:
Array
(
[key3] => value3
)
Wie Sie aus dem Ergebnis sehen können, löscht Array_diff_key () das Element nicht mit dem Schlüsselnull . Dies liegt daran, dass PHP Null als eindeutiger Schlüssel behandelt. Obwohl beide Arrays Elemente mit Key Null enthalten, werden sie daher immer noch als unterschiedlich angesehen.
Zusammenfassend behandelt Array_Diff_key () Null als normalen Schlüssel und ignoriert ihn nicht automatisch. Wenn es Elemente mit Nullschlüssel in den im Vergleich zu Arrays gibt, werden sie als die gleichen Schlüssel behandelt und erscheinen daher nicht im Differenzarray. Wenn in einem anderen Array ein Nullschlüssel in einem Array nicht vorhanden ist, wird er als anderer Schlüssel behandelt.
In der tatsächlichen Entwicklung ist es selten, dass der Schlüssel null ist , aber in einigen besonderen Szenarien kann Null als Standardschlüssel oder Platzhalterschlüssel verwendet werden. Wenn Sie dies in Ihrem Code begegnen, ist es sehr wichtig, das Verhalten von array_diff_key () zu verstehen, insbesondere bei der Verarbeitung von Daten, um unerwartete Ergebnisse durch falsche Array -Schlüsselvergleiche zu vermeiden.
Wenn Ihr Code URLs umfasst und Sie alle Domainnamen durch m66.net ersetzen müssen, finden Sie hier ein einfaches Code -Beispiel:
<?php
$url = "https://www.example.com/path/to/resource";
$new_url = preg_replace('/https?:\/\/[^\/]+/', 'https://m66.net', $url);
echo $new_url;
?>
Dieser Code ersetzt den Domänennamenteil in der URL durch m66.net , um sicherzustellen, dass Ihr Domänenname immer konsistent ist.
In diesem Artikel sollten Sie ein klareres Verständnis dafür haben, wie die Funktion array_diff_key () die Situation umgeht, in der der Schlüssel null ist, und Sie haben gemeistert, wie der URL -Domänenname im Code ersetzt wird.
Hoffe dieser Artikel hilft dir! Wenn Sie mehr Fragen haben, können Sie gerne fragen.