Position actuelle: Accueil> Derniers articles> Comment normaliser les données API RESTful en combinaison avec array_change_key_case ()?

Comment normaliser les données API RESTful en combinaison avec array_change_key_case ()?

M66 2025-04-24

En développement, le format de données renvoyé par l'API RESTful est généralement sous forme JSON ou Array. Cependant, les noms de champ renvoyés par l'API peuvent être incompatibles avec le cas. À l'heure actuelle, nous pouvons utiliser la fonction array_change_key_case () dans PHP pour unifier le cas du champ. Ceci est utile pour normaliser les données et assurer la cohérence, en particulier lorsqu'il s'agit de valeurs de retour de différentes API.

array_change_key_case () est une fonction très simple qui convertit toutes les touches (touches) dans un tableau en minuscules ou en majuscules. La syntaxe de cette fonction est la suivante:

 array array_change_key_case ( array $array, int $case = CASE_LOWER )
  • $ tableau : le tableau d'entrée.

  • $ cas : Spécifie le cas de la conversion, qui peut être Case_upper (Upper Case) ou case_lower (en bas de cas). La valeur par défaut est Case_Lower , ce qui signifie que toutes les touches sont converties en minuscules.

Exemple de code

Supposons que les données que nous obtenons d'une API RESTful sont les suivantes (dans l'application réelle, vous pouvez obtenir les données via File_get_Contents () ou Curl ):

 $data = [
    'Name' => 'John Doe',
    'Email' => 'john.doe@example.com',
    'PhoneNumber' => '123-456-7890',
];

Nous voulons unifier tous les noms de champ en minuscules ou en majuscules, ce qui peut être fait en utilisant array_change_key_case () . Voici un exemple de mise en œuvre:

 <?php
// Supposons que nousAPIDonnées obtenues
$data = [
    'Name' => 'John Doe',
    'Email' => 'john.doe@example.com',
    'PhoneNumber' => '123-456-7890',
];

// Convertir les noms de clés des tableaux en minuscules
$dataLower = array_change_key_case($data, CASE_LOWER);
print_r($dataLower);

// Convertissez le nom de clé du tableau en majuscules
$dataUpper = array_change_key_case($data, CASE_UPPER);
print_r($dataUpper);
?>

Sortir:

 // Noms de clés minuscules
Array
(
    [name] => John Doe
    [email] => john.doe@example.com
    [phonenumber] => 123-456-7890
)

// Nom de la clé CAPS
Array
(
    [NAME] => John Doe
    [EMAIL] => john.doe@example.com
    [PHONENUMBER] => 123-456-7890
)

Comme indiqué ci-dessus, array_change_key_case () peut facilement convertir tous les noms de clés en minuscules ou en majuscules. De cette façon, vous pouvez vous assurer que les noms de champs de données renvoyés par votre API répondent à vos spécifications, en évitant les problèmes potentiels causés par les incohérences de cas.

Scénarios d'application pratiques

Supposons que vous développiez une application qui doit traiter les données renvoyées à partir de plusieurs API RESTful différentes, et les noms de champ retournés peuvent être incohérents. Vous pouvez utiliser array_change_key_case () pour standardiser les noms de champ pour vous assurer que le code ultérieur n'est pas affecté par ces détails. Par exemple:

 $responseFromApi = file_get_contents('https://m66.net/api/data');
$data = json_decode($responseFromApi, true);

// Convertir tous les noms de champ en minuscules uniformément
$standardizedData = array_change_key_case($data, CASE_LOWER);

// Continuez à un traitement de suivi

De cette façon, peu importe si le nom de champ renvoyé par l'API est le nom , le nom , le nom , etc., vous pouvez le gérer uniformément pour éviter les erreurs causées par l'incohérence des cas.

Choses à noter

  1. array_change_key_case () ne modifiera que le nom de clé du tableau, mais pas la valeur du tableau.

  2. Si vos données sont un tableau multidimensionnel imbriqué, vous devez traiter récursivement chaque couche de tableau pour vous assurer que tous les noms de clés sont convertis en cas cohérent.

  3. array_change_key_case () est sensible à la casse pour la conversion de cas dans les chaînes, vous devez donc vous assurer que les paramètres que vous transmettez sont corrects.