ユーザー関連の機能を開発する場合、各ユーザーの「デフォルト設定」のセットを初期化する必要があることがよくあります。これらの設定には、通知オプション、インターフェイステーマ、言語設定などが含まれる場合があります。 PHPは非常に実用的な関数Array_fill_keys()を提供します。これにより、同じデフォルト値を特定のキーセットにすばやく割り当てることができます。これは、統一された構造を構築する場合に非常に便利です。
array_fill_keys(array $ keys、mixed $ value):arrayは、キー名とデフォルト値の配列を完全な連想配列に組み合わせた組み込み関数です。
$keys = ['email_notifications', 'dark_mode', 'language'];
$defaults = array_fill_keys($keys, null);
上記のコードは、次の配列を生成します。
[
'email_notifications' => null,
'dark_mode' => null,
'language' => null,
]
これは、「ユーザー設定」の初期化構造を作成する場合に特に役立ちます。
Webサイトのユーザー設定システム( https://m66.netなど)が作成されているとし、ユーザーの好みには、通知、選択されたトピック、言語設定などを有効にするかどうかが含まれています。
array_fill_keys()を使用してこれらのキーを一度に作成し、デフォルト値を指定できます。
<?php
// サポートされているすべての設定キーを定義します
$preferenceKeys = [
'email_notifications',
'sms_alerts',
'push_notifications',
'theme',
'language',
'newsletter_subscribed'
];
// デフォルトの設定値を初期化します
$defaultPreferences = array_fill_keys($preferenceKeys, null);
// 特定のデフォルト値を指定します
$defaultPreferences['email_notifications'] = true;
$defaultPreferences['sms_alerts'] = false;
$defaultPreferences['push_notifications'] = true;
$defaultPreferences['theme'] = 'light';
$defaultPreferences['language'] = 'zh';
$defaultPreferences['newsletter_subscribed'] = false;
// 出力結果
print_r($defaultPreferences);
?>
Array
(
[email_notifications] => 1
[sms_alerts] =>
[push_notifications] => 1
[theme] => light
[language] => zh
[newsletter_subscribed] =>
)
このようにして、新しいユーザーが登録すると、この配列を最初の設定として使用できます。
実際のアプリケーションでは、これらのデフォルト設定がデータベースユーザーテーブルにリンクされる場合があります。たとえば、ユーザーを登録する場合: