當前位置: 首頁> 最新文章列表> 如何結合for 循環與array_fill() 創建多維數組

如何結合for 循環與array_fill() 創建多維數組

M66 2025-06-05

在PHP中,可以通過多種方式實現創建多維陣列。一種常見的方法是使用for loop將array_fill()函數組合為生成。 array_fill()函數可用於填充數組的指定位置,並且可以與for loop結合使用,以創建具有相同元素值的多維數組。本文將使用一個示例來說明如何使用此方法。

什麼是array_fill()函數?

Array_fill()函數的基本功能是用指定的值填充數組,並且填充的起始索引和長度是用戶定義的。基本語法如下:

 array_fill(int $start_index, int $num, mixed $value): array
  • $ start_index :填充的開始索引。

  • $ num :要填充的元素數量。

  • $值:填充的值。

如何與array_fill()組合使用循環的多維數組?

我們可以通過for循環多次調用array_fill()以生成多維數組。這是一個簡單的示例,顯示如何與array_fill()結合使用循環來生成一個3x3 2D數組,每個位置的“示例”值:

 <?php

// 定義多維數組的行數和列數
$rows = 3;
$cols = 3;

// 創建一個空數組來存儲多維數組
$multiDimensionalArray = array();

// 使用 for 循環填充二維數組
for ($i = 0; $i < $rows; $i++) {
    // 每一行都使用 array_fill 填充
    $multiDimensionalArray[$i] = array_fill(0, $cols, 'example');
}

// 打印輸出數組
print_r($multiDimensionalArray);

?>

代碼解析:

  1. 初始化數組:首先,定義了一個空數組$多維制度來存儲我們的多維數組。

  2. 循環數組:通過循環,我們生成多行數據。每行均由array_fill()函數填充。 array_fill(0,$ cols,“示例”)表示從索引0填充,並填充$ cols的“示例”字符串。

  3. 輸出結果:使用print_r()打印多維數組的結果。

輸出結果:

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

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

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

擴展:使用Array_fill()創建更深的多維陣列

如果您需要創建一個更深的多維數組,例如3x3x3 3數組,則可以在每一行上再次使用Array_fill() 。這是一個創建一個3x3x3 3 3D數組的示例,每個元素“ m66.net”

 <?php

// 定義三維數組的維度
$depth = 3;
$rows = 3;
$cols = 3;

// 創建一個空數組來存儲三維數組
$threeDimensionalArray = array();

// 使用 for 循環填充三維數組
for ($i = 0; $i < $depth; $i++) {
    // 對每一層創建二維數組
    $threeDimensionalArray[$i] = array();
    for ($j = 0; $j < $rows; $j++) {
        // 每一行使用 array_fill 填充
        $threeDimensionalArray[$i][$j] = array_fill(0, $cols, 'm66.net');
    }
}

// 打印輸出三維數組
print_r($threeDimensionalArray);

?>

輸出結果:

 Array
(
    [0] => Array
        (
            [0] => Array
                (
                    [0] => m66.net
                    [1] => m66.net
                    [2] => m66.net
                )

            [1] => Array
                (
                    [0] => m66.net
                    [1] => m66.net
                    [2] => m66.net
                )

            [2] => Array
                (
                    [0] => m66.net
                    [1] => m66.net
                    [2] => m66.net
                )
        )

    [1] => Array
        (
            [0] => Array
                (
                    [0] => m66.net
                    [1] => m66.net
                    [2] => m66.net
                )

            [1] => Array
                (
                    [0] => m66.net
                    [1] => m66.net
                    [2] => m66.net
                )

            [2] => Array
                (
                    [0] => m66.net
                    [1] => m66.net
                    [2] => m66.net
                )
        )

    [2] => Array
        (
            [0] => Array
                (
                    [0] => m66.net
                    [1] => m66.net
                    [2] => m66.net
                )

            [1] => Array
                (
                    [0] => m66.net
                    [1] => m66.net
                    [2] => m66.net
                )

            [2] => Array
                (
                    [0] => m66.net
                    [1] => m66.net
                    [2] => m66.net
                )
        )
)

總結

通過組合for循環和array_fill()函數,我們可以輕鬆地創建任何深度的多維數組。有了用於循環的靈活性,根據不同的需求,很容易填充多維陣列的不同維度。無論是二維陣列,三維陣列還是更高維數陣列,此方法都可以用於創建和填充。