バックグラウンド管理システム、コンテンツ管理プラットフォーム、またはデータ表示ページを開発する場合、テーブルの列構成を定義する必要があることがよくあります。たとえば、タイトル、アラインメント、各列に表示するかどうかなどの属性を設定する必要がある場合があります。これらのシナリオでは、 array_fill_keys()関数は、「デフォルト値」を持つ構成配列をすばやく構築し、構成の初期化プロセスを大幅に簡素化するのに役立ちます。
PHPのarray_fill_keys()は、キー名の配列を統合されたデフォルト値と組み合わせて連想配列を生成する組み込み関数です。
array_fill_keys(array $keys, mixed $value): array
$キー:使用するキー名の配列。
$値:各キーに指定されたデフォルト値。
次のフィールドを表示する必要があるデータテーブルがあるとします。
$columns = ['id', 'username', 'email', 'status', 'created_at'];
次のような、これらのフィールドに統一された初期構成を提供したいと考えています。
[
'title' => '',
'align' => 'left',
'visible' => true
]
<?php
$columns = ['id', 'username', 'email', 'status', 'created_at'];
$defaultConfig = [
'title' => '',
'align' => 'left',
'visible' => true
];
// 使用array_fill_keysデフォルト値の構成配列を構築します
$configs = array_fill_keys($columns, $defaultConfig);
// 例:特定のフィールドのデフォルト構成をオーバーライドします
$configs['id']['title'] = 'シリアルナンバー';
$configs['username']['title'] = 'ユーザー名';
$configs['email']['title'] = '郵便';
$configs['status']['title'] = '州';
$configs['created_at']['title'] = '作成時間';
// 例输出
echo '<pre>';
print_r($configs);
echo '</pre>';
Array
(
[id] => Array
(
[title] => シリアルナンバー
[align] => left
[visible] => 1
)
[username] => Array
(
[title] => ユーザー名
[align] => left
[visible] => 1
)
...
)
アドレスなど、これらの列構成をインターフェイスを介してフロントエンドに渡すと仮定します。
https://m66.net/api/table/config
$ configsをJSONに変換して、フロントエンドに出力できます。
header('Content-Type: application/json');
echo json_encode($configs);
フロントエンドは、これらの構成に基づいて動的にテーブルをレンダリングできます。
異なる構成構造を持つ複数のフィールドがある場合は、 array_map()を組み合わせたり、デフォルト値を手動でオーバーライドすることもできます。
さらに多重化を簡単にするために機能にカプセル化できます。
注: array_fill_keys()は浅いコピーです。特定のキーの値を変更すると、元の$ defaultConfigは変更されませんが、複数のキーが同じ配列参照を共有する場合は注意してください( array_map() + array_merge( )によって回避できます)。