In der PHP -Entwicklung, insbesondere wenn es um Daten geht, die von Benutzern eingegeben wurden, begegnen wir häufig inkonsistenten Fall von Schlüsselnamen, die von Benutzern eingegeben wurden. Beispielsweise können die vom Benutzer oder die Schlüsselnamen in den URL -Parametern eingegebenen Formulardaten unterschiedliche Fallformate haben. Zu diesem Zeitpunkt können einige unerwartete Fehler auftreten.
PHP bietet eine sehr praktische Funktion array_change_key_case () , mit der das Fallformat von Arrayschlüsselnamen geändert werden kann. Diese Funktion ist sehr geeignet für Inkonsistenzen der Benutzereingabe.
Die Funktion array_change_key_case () wird verwendet, um alle Schlüsselnamen eines Arrays in den angegebenen oberen und unteren Fall umzuwandeln. Sie können alle Schlüsselnamen des Arrays in Kleinbuchstaben oder Großbuchstaben konvertieren.
array_change_key_case(array $array, int $case = CASE_LOWER): array
$ Array : Das zu verarbeitende Array.
$ case : Gibt den konvertierten Fall an. Es kann Case_upper oder Case_lower sein, der Standardwert ist CADS_LOWER , der angibt, dass alle Schlüsselnamen in Kleinbuchstaben konvertiert werden.
Angenommen, Sie erhalten die folgenden Formulardaten von den Benutzereingaben. Die Schlüsselnamen haben möglicherweise unterschiedliche Fallformate:
$userInput = [
'Name' => 'John',
'AGE' => 25,
'email' => 'john@example.com'
];
Wenn Sie alle Schlüsselnamen einheitlich in Kleinbuchstaben konvertieren möchten, können Sie Array_Change_key_Case () verwenden:
<?php
$userInput = [
'Name' => 'John',
'AGE' => 25,
'email' => 'john@example.com'
];
// Konvertieren Sie die Schlüsselnamen von Arrays in Kleinbuchstaben
$normalizedInput = array_change_key_case($userInput, CASE_LOWER);
print_r($normalizedInput);
?>
Die Ausgabe wird sein:
Array
(
[name] => John
[age] => 25
[email] => john@example.com
)
Wie Sie sehen können, werden alle Schlüsselnamen in Kleinbuchstaben konvertiert, wodurch Probleme vermieden werden, die durch Inkonsistenzen von Fall verursacht werden.
Manchmal sind die Parameter in der URL auch dort, wo wir uns mit ihnen befassen müssen. Beispielsweise kann die URL Abfrageparameter mit unterschiedlichen Fällen annehmen, und wir möchten das Fallformat dieser Parameter vereinen. Angenommen, Ihre URL ist so:
https://m66.net/profile?UserName=JohnDoe&Email=john@example.com&Age=30
Verwenden Sie Parse_url () und Parse_str (), um die URL zu analysieren und den oberen und unteren Fall der Parameter über Array_Change_key_Case () zu vereinen:
<?php
$url = "https://m66.net/profile?UserName=JohnDoe&Email=john@example.com&Age=30";
// AnalyseURL
$parsedUrl = parse_url($url);
parse_str($parsedUrl['query'], $queryParams);
// Konvertieren Sie den Schlüsselnamen des Abfrageparameters in Kleinbuchstaben
$normalizedParams = array_change_key_case($queryParams, CASE_LOWER);
print_r($normalizedParams);
?>
Die Ausgabe wird sein:
Array
(
[username] => JohnDoe
[email] => john@example.com
[age] => 30
)
Auf diese Weise können Sie sicherstellen, dass die Parameterschlüsselnamen in der URL inkonsistent sind, sie schließlich in das gewünschte Format einheitlich sein.
Array_Change_key_Case () ist eine sehr nützliche Funktion, mit der Sie bei der Verarbeitung von Arrays den Fall von Arrayschlüsselnamen vereinen können. Bei der Verarbeitung von Benutzereingaben- oder URL -Parametern ist es für einen einheitlichen Fall sehr wichtig. Es kann Fehler verringern, die durch die Inkonsistenz von Falls verursacht werden und die Konsistenz bei der Datenverarbeitung sicherstellen. Hoffentlich können Sie mit den Beispielen in diesem Artikel besser verstehen, wie Sie Array_Change_key_case () verwenden, um das eigentliche Problem zu lösen.