當前位置: 首頁> 最新文章列表> 教你5分鐘掌握array_fill() 函數

教你5分鐘掌握array_fill() 函數

M66 2025-06-05

在PHP 的日常開發中,我們經常會遇到需要快速生成一個預定義數組的情況,例如初始化一個指定長度、默認值一致的數組。這時候, array_fill()函數就是你的好幫手!本文將用最短的時間,讓你徹底搞懂這個高效實用的函數。

什麼是array_fill()?

array_fill()是PHP 內置的一個數組處理函數,它可以用來創建一個指定大小、並且值都相同的數組。它的語法如下:

 array_fill(int $start_index, int $count, mixed $value): array

參數解釋:

  • $start_index :新數組中第一個元素的索引,可以是整數(包括負數)。

  • $count :要填充的元素個數。

  • $value :要填充的值。

示例1:填充10個元素為0的數組

$arr = array_fill(0, 10, 0);
print_r($arr);

輸出:

 Array
(
    [0] => 0
    [1] => 0
    [2] => 0
    [3] => 0
    [4] => 0
    [5] => 0
    [6] => 0
    [7] => 0
    [8] => 0
    [9] => 0
)

這個例子會生成一個從索引0 開始、長度為10、值全是0 的數組。

常見用途場景

1. 初始化默認配置項

$default_settings = array_fill(0, 5, 'off');

你可以很方便地用來表示5個開關初始都是關閉狀態。

2. 快速生成表單默認值

假設一個多選表單中有10個選項,你想在用戶未提交前默認全部為false:

 $form_defaults = array_fill(1, 10, false);

3. 創建一個佔位數組以供後續替換

$placeholders = array_fill(0, 3, 'loading...');

這類數組可以用於前端模板輸出,數據加載時顯示默認提示。

注意事項

  • 如果$count小於等於0,返回的是一個空數組。

  • 如果$start_index為負數,那麼數組的鍵也會是負數。

  • 該函數不會保留鍵名結構,僅按順序生成鍵。

 // 負索引示例
$arr = array_fill(-3, 3, 'PHP');
print_r($arr);

輸出:

 Array
(
    [-3] => PHP
    [-2] => PHP
    [-1] => PHP
)

實戰小技巧:結合URL 參數初始化數組

你可能會在某些動態場景下生成URL 參數的默認值。例如你要生成5 個分頁鏈接的默認頁碼:

 $page_links = array_fill(1, 5, 'https://m66.net/page/1');

foreach ($page_links as $key => $url) {
    $page_links[$key] = "https://m66.net/page/{$key}";
}

print_r($page_links);

輸出:

 Array
(
    [1] => https://m66.net/page/1
    [2] => https://m66.net/page/2
    [3] => https://m66.net/page/3
    [4] => https://m66.net/page/4
    [5] => https://m66.net/page/5
)

是不是非常實用?

總結

array_fill()是一個簡單但強大的函數,用於快速初始化數組,不管是開發配置、表單、數據處理還是分頁邏輯,它都能大大提高你的開發效率。現在,你只需要花上5分鐘,就已經完全掌握了它!

下次當你需要創建一堆默認值時,別再用循環手動填充數組了,用array_fill() ,讓你的代碼更清晰、更高效!