In PHP ist Array_Change_key_Case () eine Funktion, die den Fall aller Schlüsselnamen in einem Array ändert. Es akzeptiert zwei Parameter:
array_change_key_case(array $array, int $case = CASE_LOWER): array
$ Array : Das zu verarbeitende Array;
$ Fall : Optionaler Parameter Um den Fall der Schlüsseldamenkonvertierung anzugeben ( Case_lower oder Case_upper , Standard ist Kleinbuchstaben).
Dann lautet die Frage: Was passiert, wenn das Eingang null oder ein leeres Array ist? Wird der Funktion einen Fehler melden?
$result = array_change_key_case([]);
var_dump($result);
Ausgabe:
array(0) {
}
Es ist ersichtlich, dass Array_Change_key_case (), wenn ein leeres Array übergeben wird, normal ausführt und ein leeres Array zurückgibt . Es wird keine Fehler geben.
$data = null;
$result = array_change_key_case($data);
var_dump($result);
Ausgabe:
Warning: array_change_key_case(): Argument #1 ($array) must be of type array, null given
Dieser Code löst eine Warnung aus, dass Array_Change_key_Case () erforderlich ist, dass der erste Parameter vom Array -Typ sein muss. Wenn Sie NULL in NULL eingehen, wird eine Warnung hervorgerufen, und die Funktion gibt kein gültiges Ergebnis zurück (return null ).
Wenn Sie nicht sicher sind, ob es sich bei der Variablen um ein Array handelt, wird empfohlen, eine Typprüfung hinzuzufügen, bevor Sie die Funktion aufrufen:
$data = get_data_from_api('https://m66.net/api/data');
if (is_array($data)) {
$result = array_change_key_case($data, CASE_UPPER);
} else {
$result = [];
}
var_dump($result);
Wenn Sie dies tun, werden Warnungen bei der Übergabe von Null oder anderen Nicht-Array-Typen verhindert.
Wert bestehen | Ist es ein Fehler gemeldet? | Rückgabeergebnis |
---|---|---|
Leeres Array [] | NEIN | Leeres Array [] |
NULL | Ja | Eine Warnung ausgeben, null zurückkehren |
array_change_key_case () ist ein praktischer Array -Handler, aber es erfordert, dass die Parameter vom Array -Typ sein müssen. Wenn Sie einen robusteren Code schreiben, wird empfohlen, den Datentyp zuerst zu überprüfen, um Unfälle zu verhindern.