Position actuelle: Accueil> Derniers articles> Utilisez array_filter et array_fill_keys pour créer un tableau par défaut nettoyé

Utilisez array_filter et array_fill_keys pour créer un tableau par défaut nettoyé

M66 2025-06-06

En PHP, les opérations de réseau sont des tâches très courantes. Surtout lorsque nous traitons l'entrée des utilisateurs ou les données externes, nous devons généralement nettoyer et filtrer le tableau. Cet article expliquera comment utiliser les fonctions array_filter et array_fill_keys en php pour créer un tableau par défaut nettoyé.

1. Introduction à array_filter et array_fill_keys

  • Fonction Array_Filter : Cette fonction peut filtrer les éléments dans un tableau et déterminer quels éléments doivent être conservés ou supprimés en fonction de la fonction de rappel donnée. Si la fonction de rappel renvoie true , l'élément sera conservé; Si faux , l'élément sera supprimé.

  • Fonction Array_Fill_keys : Cette fonction est utilisée pour créer un tableau, spécifiez le nom de la clé et attribuez une valeur par défaut à chaque nom de clé. Son objectif est de générer rapidement un tableau avec des valeurs par défaut, particulièrement adaptées pour gérer certains scénarios où des noms de clés prédéfinis sont nécessaires.

En combinant ces deux fonctions, nous pouvons fournir des valeurs par défaut pour chaque clé possible tout en nettoyant les données d'entrée, en veillant à ce que le tableau final soit complet et canonique.

2. Scénario d'échantillon

Supposons que nous ayons des données de formulaire soumises par l'utilisateur contenant plusieurs paires de valeurs de clé (telles que le nom , le courrier électronique et l'âge ). Nous voulons nettoyer ces données, supprimer les données non valides ou nulles et fournir des valeurs par défaut pour les clés manquantes.

Nous utiliserons Array_Filter pour filtrer les données nulles ou non valides, et array_fill_keys pour remplir les valeurs par défaut pour les clés manquantes.

3. Implémentation du code

Voici un exemple de code qui montre comment implémenter ce processus à l'aide d'Array_Filter et Array_Fill_Keys :

 <?php

// Supposons qu&#39;il s&#39;agit des données de formulaire soumises par l&#39;utilisateur
$userInput = [
    'name' => 'John Doe',
    'email' => 'johndoe@example.com',
    'age' => '',  // Valeur nul
    'address' => null,  // Valeur nul
];

// Définissez la clé par défaut dont nous avons besoin
$defaultKeys = ['name', 'email', 'age', 'address'];

// 1. utiliser array_filter Nettoyez les données
$filteredData = array_filter($userInput, function($value) {
    // 过滤掉Valeur nul、null Ou chaîne vide
    return !empty($value);
});

// 2. utiliser array_fill_keys Remplissez les valeurs par défaut pour les clés manquantes
$cleanedData = array_fill_keys($defaultKeys, 'default_value');

// 3. Fusionner les données filtrées dans le tableau par défaut
$finalData = array_merge($cleanedData, $filteredData);

// Imprimez le résultat final
print_r($finalData);

?>

4. Explication du code

  1. Données d'entrée: $ userInput est un tableau simulé par l'utilisateur, y compris des champs tels que le nom , l'e-mail , l'âge et l'adresse . Ici, nous laissons délibérément vide ou réglé sur Null pour les champs d'âge et d'adressage , simulant la situation où l'utilisateur n'a pas rempli ces données.

  2. Nettoyer des données: nous filtrons les données vides ou non valides via la fonction Array_Filter . Dans la fonction de rappel,! Vide ($ value) garantit que seules les valeurs non nulles sont conservées.

  3. Remplissez la valeur par défaut: nous utilisons la fonction array_fill_keys pour définir une valeur par défaut pour toutes les clés possibles ( nom , e-mail , âge et adresse ) (en utilisant 'default_value' ici). De cette façon, tous les champs non engagés seront automatiquement remplis de la valeur par défaut.

  4. Merge Array: Utilisez Array_Merge pour combiner les données nettoyées avec la valeur par défaut. Une fois fusionné, les données valides dans $ filteredData remplaceront les éléments correspondants dans le tableau par défaut.

5. Résultat de sortie

Le tableau Final $ finalData contiendra toutes les données d'entrée utilisateur valides et remplira les champs manquants avec des valeurs par défaut. Par exemple:

 Array
(
    [name] => John Doe
    [email] => johndoe@example.com
    [age] => default_value
    [address] => default_value
)

6. Résumé

Grâce à la combinaison de Array_Filter et Array_Fill_Keys , nous sommes en mesure de traiter efficacement les données du tableau, de filtrer les données non valides et de fournir des valeurs par défaut raisonnables pour les champs manquants. Cette approche est très utile lors du traitement des entrées des utilisateurs et des données externes, garantissant que nos programmes peuvent toujours s'exécuter de manière stable lorsqu'ils sont confrontés à des données incomplètes ou irrégulières.

<div style = "border-top: 1px solide #ccc; marge: 20px 0;"> </div>

Liens connexes: