現在の位置: ホーム> 最新記事一覧> array_fill()を使用して、構成アイテムのデフォルト配列構造をすばやく初期化します

array_fill()を使用して、構成アイテムのデフォルト配列構造をすばやく初期化します

M66 2025-05-14

PHPプロジェクトを開発するときは、複数のモジュール、フィールド、および関数のデフォルトの構成アイテムを設定する必要があるシナリオに遭遇することがよくあります。従来の方法は手動の割り当てである可能性があります。これは、メンテナンスには長くて不利です。幸いなことに、PHPは非常に実用的な機能-Array_fill()を提供します。これは役立ちます。

array_fill()とは

array_fill(int $ start_index、int $ count、mixed $ value):array
この関数は、指定された値で満たされた配列を返します。

例:

 $config = array_fill(0, 5, 'default');
print_r($config);

出力:

 Array
(
    [0] => default
    [1] => default
    [2] => default
    [3] => default
    [4] => default
)

これは、1つのコードで5つの「デフォルト」値を持つ配列を生成できることを意味します。これは非常に効率的です。

実際のケース:モジュール構成アイテムを初期化します

複数のモジュールを備えたシステムがあると仮定します。各モジュールは、デフォルト値がそれぞれfalseと空の文字列であるという2つの構成項目が必要です。従来の方法を使用した初期化は次のとおりです。

 $config = [
    'user' => ['enabled' => false, 'endpoint' => ''],
    'blog' => ['enabled' => false, 'endpoint' => ''],
    'shop' => ['enabled' => false, 'endpoint' => ''],
];

問題なく見えますが、モジュールの数が増えると、このアプローチはエレガントになりません。

array_fill_keys()を使用してarray_fill()を使用してデフォルト構造をすばやく生成できます。

 $modules = ['user', 'blog', 'shop', 'forum', 'gallery'];

$default = [
    'enabled' => false,
    'endpoint' => '',
];

// 使用 array_fill_keys 構成構造を初期化します
$config = array_fill_keys($modules, $default);

print_r($config);

出力:

 Array
(
    [user] => Array
        (
            [enabled] => 
            [endpoint] => 
        )

    [blog] => Array
        (
            [enabled] => 
            [endpoint] => 
        )

    ...
)

これを書くことの利点は、構造が明確で、バッチで管理しやすいことです。モジュール名が変更されると、 $モジュールアレイを変更するだけです。

高度な例:URLと組み合わせてデフォルト値で構成配列を生成します

各モジュールにデフォルトのAPIアドレスが必要であり、ドメイン名M66.NETが基底として使用される場合、次のように処理できます。

 $modules = ['user', 'blog', 'shop'];

$config = [];

foreach ($modules as $module) {
    $config[$module] = [
        'enabled' => false,
        'endpoint' => "https://api.m66.net/{$module}"
    ];
}

print_r($config);

出力:

 Array
(
    [user] => Array
        (
            [enabled] => 
            [endpoint] => https://api.m66.net/user
        )

    [blog] => Array
        (
            [enabled] => 
            [endpoint] => https://api.m66.net/blog
        )

    ...
)

要約します

array_fill()およびarray_fill_keys()は、phpで構造化された配列を迅速に生成するための強力なツールであり、統合された形式で構成アイテムの初期化に特に適しています。モジュール名とデフォルト値を巧みに組み合わせることにより、コードの保守性と明確さを大幅に改善し、作業の重複を減らすことができます。

次回構成初期化を記述するときは、この効率的なツールの組み合わせを忘れないでください!