當前位置: 首頁> 最新文章列表> 想掌握PHP 中的array_fill() 函數?來看這10個實戰例子,幫你快速上手!

想掌握PHP 中的array_fill() 函數?來看這10個實戰例子,幫你快速上手!

M66 2025-06-05

在PHP 中, array_fill()函數用於用指定的值填充一個數組的指定範圍。它可以用來創建一個填充了特定值的數組,或者在某些需要固定值的數組場景中非常有用。在本文中,我們將通過10 個實戰例子來深入了解array_fill()函數的用法,幫助你快速上手!

1. 基本用法

最基礎的用法是創建一個指定大小的數組,並填充給定的值。例如:

 <?php
$array = array_fill(0, 5, 'PHP');
print_r($array);
?>

輸出:

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

此代碼會創建一個包含5 個'PHP'的數組。

2. 使用負索引

PHP 的數組允許使用負數作為索引。 array_fill()也支持這種方式:

 <?php
$array = array_fill(-3, 5, 'PHP');
print_r($array);
?>

輸出:

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

在這個例子中,數組的索引從-3開始,並填充了5 個'PHP'

3. 填充特定長度的數組

假設我們希望填充一個固定長度的數組, array_fill()也能很方便地實現這一點:

 <?php
$array = array_fill(0, 10, 0);
print_r($array);
?>

輸出:

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

這裡創建了一個包含10 個0的數組。

4. 填充多維數組

array_fill()也可以用來填充多維數組。例如,我們創建一個二維數組,並填充某個值:

 <?php
$array = array_fill(0, 3, array_fill(0, 2, 'PHP'));
print_r($array);
?>

輸出:

 Array
(
    [0] => Array
        (
            [0] => PHP
            [1] => PHP
        )
    [1] => Array
        (
            [0] => PHP
            [1] => PHP
        )
    [2] => Array
        (
            [0] => PHP
            [1] => PHP
        )
)

這個例子創建了一個3x2 的數組,其中每個元素都是一個包含'PHP'的數組。

5. 使用array_fill()創建用戶數據

假設我們需要創建一個包含多個用戶默認數據的數組:

 <?php
$userData = array_fill(0, 5, ['name' => 'User', 'age' => 25]);
print_r($userData);
?>

輸出:

 Array
(
    [0] => Array
        (
            [name] => User
            [age] => 25
        )
    [1] => Array
        (
            [name] => User
            [age] => 25
        )
    [2] => Array
        (
            [name] => User
            [age] => 25
        )
    [3] => Array
        (
            [name] => User
            [age] => 25
        )
    [4] => Array
        (
            [name] => User
            [age] => 25
        )
)

我們創建了一個包含5 個用戶信息的數組,每個用戶的信息相同。

6. 自定義起始索引

默認情況下, array_fill()會從索引0 開始填充數組,但你也可以指定一個起始索引:

 <?php
$array = array_fill(2, 5, 'PHP');
print_r($array);
?>

輸出:

 Array
(
    [2] => PHP
    [3] => PHP
    [4] => PHP
    [5] => PHP
    [6] => PHP
)

在這個例子中,數組的索引從2 開始。

7. 在關聯數組中使用array_fill()

如果你想創建一個關聯數組並填充相同的值,可以使用array_fill()

 <?php
$array = array_fill(1, 5, 'PHP');
$array[0] = 'Start'; // 自定義第一個元素
print_r($array);
?>

輸出:

 Array
(
    [0] => Start
    [1] => PHP
    [2] => PHP
    [3] => PHP
    [4] => PHP
    [5] => PHP
)

這裡我們通過手動更改第一個元素來創建一個自定義的關聯數組。

8. 動態生成填充數組

你可以通過計算動態生成數組的大小和填充值:

 <?php
$n = 5;
$value = 'PHP';
$array = array_fill(0, $n, $value);
print_r($array);
?>

輸出:

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

這里通過變量動態生成了一個長度為5 的數組,值為'PHP'

9. 填充特定類型的數據

array_fill()不僅僅可以填充字符串,還可以填充任何數據類型,例如整數、浮點數等:

 <?php
$array = array_fill(0, 5, 3.14);
print_r($array);
?>

輸出:

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

這裡填充了一個包含5 個浮動數3.14的數組。

10. 填充數組並應用自定義邏輯

你可以結合array_map()等函數,使用array_fill()填充數組並進行進一步處理:

 <?php
$array = array_fill(0, 5, 0);
$array = array_map(fn($v) => $v + 5, $array);
print_r($array);
?>

輸出:

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

在這裡,先使用array_fill()填充了一個值為0 的數組,然後使用array_map()給每個元素加上5。

通過這10 個例子,我們可以看到array_fill()在PHP 中的強大功能,它不僅可以用於填充數組的值,還可以為你創建多種複雜的數組結構。在你的項目中,你可以根據需求靈活應用這個函數。