在 PHP 的日常开发中,我们经常会遇到需要快速生成一个预定义数组的情况,例如初始化一个指定长度、默认值一致的数组。这时候,array_fill() 函数就是你的好帮手!本文将用最短的时间,让你彻底搞懂这个高效实用的函数。
array_fill() 是 PHP 内置的一个数组处理函数,它可以用来创建一个指定大小、并且值都相同的数组。它的语法如下:
array_fill(int $start_index, int $count, mixed $value): array
$start_index:新数组中第一个元素的索引,可以是整数(包括负数)。
$count:要填充的元素个数。
$value:要填充的值。
$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 的数组。
$default_settings = array_fill(0, 5, 'off');
你可以很方便地用来表示5个开关初始都是关闭状态。
假设一个多选表单中有10个选项,你想在用户未提交前默认全部为 false:
$form_defaults = array_fill(1, 10, false);
$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 参数的默认值。例如你要生成 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(),让你的代码更清晰、更高效!