当前位置: 首页> 最新文章列表> 教你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(),让你的代码更清晰、更高效!