当前位置: 首页> 最新文章列表> array_fill_keys 函数会保持键的原始顺序吗?

array_fill_keys 函数会保持键的原始顺序吗?

M66 2025-06-30

在 PHP 中,array_fill_keys 是一个非常实用的数组操作函数,它用于通过指定的键和值填充数组。在实际开发中,理解其工作原理以及是否保持键的原始顺序是十分重要的。本文将通过实例来探讨 array_fill_keys 函数是否保持键的原始顺序。

函数简介

array_fill_keys 函数的作用是用指定的值填充一个数组,该数组的键来自于一个给定的数组。其基本语法如下:

array_fill_keys(array $keys, mixed $value): array
  • $keys:用于填充数组的键,可以是一个索引数组。

  • $value:所有键对应的值。

示例代码

我们来看一个简单的示例,了解 array_fill_keys 函数的基本用法:

<?php
$keys = ['a', 'b', 'c', 'd'];
$value = 100;

$result = array_fill_keys($keys, $value);
print_r($result);
?>

输出:

Array
(
    [a] => 100
    [b] => 100
    [c] => 100
    [d] => 100
)

从这个例子可以看到,array_fill_keys 函数根据指定的键 ['a', 'b', 'c', 'd'] 创建了一个新数组,并将每个键的值都设为 100

是否保持键的原始顺序?

在 PHP 中,array_fill_keys 函数会保持输入数组中键的顺序。这意味着,函数返回的数组中的键将与原始键的顺序一致。

在 PHP 的实现中,数组是有顺序的(对于关联数组)。因此,当你提供一个有序的键数组时,array_fill_keys 会按相同的顺序填充这些键。

示例:键的顺序是否被保持?

<?php
$keys = ['apple', 'banana', 'cherry'];
$value = 'fruit';

$result = array_fill_keys($keys, $value);
print_r($result);
?>

输出:

Array
(
    [apple] => fruit
    [banana] => fruit
    [cherry] => fruit
)

如上所示,返回的数组保持了原始键的顺序,'apple''banana''cherry' 的顺序没有发生改变。

另一个示例:键的顺序被打乱

如果键的顺序发生变化,array_fill_keys 会按照新的顺序填充数组:

<?php
$keys = ['dog', 'cat', 'bird'];
$value = 'animal';

$result = array_fill_keys($keys, $value);
print_r($result);
?>

输出:

Array
(
    [dog] => animal
    [cat] => animal
    [bird] => animal
)

总结

array_fill_keys 函数会保持输入键的原始顺序,并以该顺序填充数组。如果你传入一个按特定顺序排列的键数组,返回的结果也会遵循该顺序。

与 URL 相关的代码部分

假设您有如下的 URL 操作部分代码,我们需要将 URL 中的域名替换为 m66.net

<?php
$url = 'http://m66.net/api/data';
$response = file_get_contents($url);
echo $response;
?>