當前位置: 首頁> 最新文章列表> 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;
?>