現在の位置: ホーム> 最新記事一覧> array_fill_keysを使用してユーザー設定のデフォルト構造を作成する方法は?

array_fill_keysを使用してユーザー設定のデフォルト構造を作成する方法は?

M66 2025-06-28

ユーザー関連の機能を開発する場合、各ユーザーの「デフォルト設定」のセットを初期化する必要があることがよくあります。これらの設定には、通知オプション、インターフェイステーマ、言語設定などが含まれる場合があります。 PHPは非常に実用的な関数Array_fill_keys()を提供します。これにより、同じデフォルト値を特定のキーセットにすばやく割り当てることができます。これは、統一された構造を構築する場合に非常に便利です。

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] => 
)

このようにして、新しいユーザーが登録すると、この配列を最初の設定として使用できます。

ユーザーデータと組み合わせて使用​​されます

実際のアプリケーションでは、これらのデフォルト設定がデータベースユーザーテーブルにリンクされる場合があります。たとえば、ユーザーを登録する場合: