答案:PHP中array_fill()用于按数量填充数组,array_fill_keys()根据键名数组填充值。前者适用于创建固定长度的默认数组,后者适合以指定键名初始化数组;起始索引可为负数,影响键名范围;键名重复时后者覆盖前者;性能上array_fill()略优,但差异不大;实际应用如配置数组初始化。

在PHP中,你可以使用
array_fill()
array_fill_keys()
解决方案
array_fill()
$filledArray = array_fill(0, 5, 'apple'); print_r($filledArray); // 输出:Array ( [0] => apple [1] => apple [2] => apple [3] => apple [4] => apple )
这个例子从索引0开始,用'apple'填充了5个元素。
立即学习“PHP免费学习笔记(深入)”;
array_fill_keys()
$keys = ['a', 'b', 'c']; $filledArray = array_fill_keys($keys, 'banana'); print_r($filledArray); // 输出:Array ( [a] => banana [b] => banana [c] => banana )
这里,键名'a'、'b'和'c'都被赋予了'banana'这个值。
使用场景:何时选择array_fill()
array_fill_keys()
array_fill()
array_fill_keys()
array_fill_keys()
array_fill()
是的,
array_fill()
$filledArray = array_fill(-2, 4, 'orange'); print_r($filledArray); // 输出:Array ( [-2] => orange [-1] => orange [0] => orange [1] => orange )
在这个例子中,数组的键名从-2开始,而不是从0开始。这在某些需要特定键名范围的场景下可能很有用。需要注意的是,如果起始索引加上填充数量导致键名冲突,后面的值会覆盖前面的值。
如果array_fill_keys()
如果
array_fill_keys()
$keys = ['a', 'b', 'a', 'c']; $filledArray = array_fill_keys($keys, 'grape'); print_r($filledArray); // 输出:Array ( [a] => grape [b] => grape [c] => grape )
尽管'a'出现了两次,但最终数组中'a'只对应一个'grape'值。
性能考量:array_fill()
array_fill_keys()
通常来说,
array_fill()
array_fill_keys()
array_fill_keys()
array_fill_keys()
一个实际的例子:初始化配置数组
假设你需要创建一个配置数组,其中包含一些默认值。你可以使用
array_fill_keys()
$configKeys = ['debug', 'log_level', 'cache_enabled']; $defaultConfig = array_fill_keys($configKeys, false); // 假设从配置文件中读取了一些配置项 $configFile = ['debug' => true, 'log_level' => 'warning']; // 合并配置项,配置文件中的值会覆盖默认值 $config = array_merge($defaultConfig, $configFile); print_r($config); // 输出:Array ( [debug] => 1 [log_level] => warning [cache_enabled] => )
这个例子展示了如何使用
array_fill_keys()
array_merge()
以上就是如何在PHP中填充数组?array_fill()和array_fill_keys()的用法的详细内容,更多请关注php中文网其它相关文章!
PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号