當前位置: 首頁> 最新文章列表> 構造帶默認值的表格列配置數組

構造帶默認值的表格列配置數組

M66 2025-06-06

在開發後台管理系統、內容管理平台或數據展示頁時,我們經常需要定義表格的列配置。比如,我們可能需要為每一列設置標題、對齊方式、是否顯示等屬性。在這些場景中, array_fill_keys()函數可以幫助我們快速構造出一個“帶默認值”的配置數組,大大簡化初始化配置的過程。

一、什麼是array_fill_keys?

PHP 的array_fill_keys()是一個內置函數,用於將一個鍵名數組與一個統一的默認值組合起來,生成一個關聯數組。

文法:

 array_fill_keys(array $keys, mixed $value): array
  • $keys :要使用的鍵名數組。

  • $value :為每個鍵指定的默認值。

二、實際場景:構造表格列配置數組

假設我們有一個數據表格,需要展示以下字段:

 $columns = ['id', 'username', 'email', 'status', 'created_at'];

我們希望為這些字段提供一個統一的初始配置,比如:

 [
    'title' => '',
    'align' => 'left',
    'visible' => true
]

使用array_fill_keys實現:

 <?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()避免)。