Lors du développement de fonctions liées à l'utilisateur, nous devons souvent initialiser un ensemble de "préférences par défaut" pour chaque utilisateur. Ces paramètres peuvent inclure des options de notification, des thèmes d'interface, des préférences linguistiques et plus encore. PHP fournit une fonction très pratique array_fill_keys () , qui peut rapidement attribuer la même valeur par défaut à un ensemble de clés donné. Ceci est très pratique lors de la construction d'une structure unifiée.
array_fill_keys (array $ clés, valeur mixte $): Array est une fonction intégrée qui combine un tableau de noms de clés et une valeur par défaut dans un tableau associatif complet.
$keys = ['email_notifications', 'dark_mode', 'language'];
$defaults = array_fill_keys($keys, null);
Le code ci-dessus générera le tableau suivant:
[
'email_notifications' => null,
'dark_mode' => null,
'language' => null,
]
Ceci est particulièrement utile lors de la création d'une structure d'initialisation pour les «préférences des utilisateurs».
Supposons que nous créons un système de paramètres utilisateur pour un site Web (comme https://m66.net ), et les préférences de l'utilisateur incluent l'opportunité d'activer les notifications, les sujets sélectionnés, les paramètres de la langue, etc.
Nous pouvons utiliser array_fill_keys () pour créer ces clés à la fois et donner des valeurs par défaut:
<?php
// Définir toutes les clés de préférence prise en charge
$preferenceKeys = [
'email_notifications',
'sms_alerts',
'push_notifications',
'theme',
'language',
'newsletter_subscribed'
];
// Initialiser la valeur de réglage par défaut
$defaultPreferences = array_fill_keys($preferenceKeys, null);
// Spécifiez la valeur par défaut spécifique
$defaultPreferences['email_notifications'] = true;
$defaultPreferences['sms_alerts'] = false;
$defaultPreferences['push_notifications'] = true;
$defaultPreferences['theme'] = 'light';
$defaultPreferences['language'] = 'zh';
$defaultPreferences['newsletter_subscribed'] = false;
// Résultat de sortie
print_r($defaultPreferences);
?>
Array
(
[email_notifications] => 1
[sms_alerts] =>
[push_notifications] => 1
[theme] => light
[language] => zh
[newsletter_subscribed] =>
)
De cette façon, lorsqu'un nouvel utilisateur enregistre, nous pouvons utiliser ce tableau comme préférences initiales.
Dans les applications réelles, ces paramètres par défaut peuvent être liés au tableau utilisateur de la base de données. Par exemple, lors de l'enregistrement d'un utilisateur: