在PHP 中, array_fill()函數用於用指定的值填充一個數組的指定範圍。它可以用來創建一個填充了特定值的數組,或者在某些需要固定值的數組場景中非常有用。在本文中,我們將通過10 個實戰例子來深入了解array_fill()函數的用法,幫助你快速上手!
最基礎的用法是創建一個指定大小的數組,並填充給定的值。例如:
<?php
$array = array_fill(0, 5, 'PHP');
print_r($array);
?>
輸出:
Array
(
[0] => PHP
[1] => PHP
[2] => PHP
[3] => PHP
[4] => PHP
)
此代碼會創建一個包含5 個'PHP'的數組。
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' 。
假設我們希望填充一個固定長度的數組, 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的數組。
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'的數組。
假設我們需要創建一個包含多個用戶默認數據的數組:
<?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 個用戶信息的數組,每個用戶的信息相同。
默認情況下, 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 開始。
如果你想創建一個關聯數組並填充相同的值,可以使用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
)
這裡我們通過手動更改第一個元素來創建一個自定義的關聯數組。
你可以通過計算動態生成數組的大小和填充值:
<?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' 。
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的數組。
你可以結合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 中的強大功能,它不僅可以用於填充數組的值,還可以為你創建多種複雜的數組結構。在你的項目中,你可以根據需求靈活應用這個函數。