當前位置: 首頁> 最新文章列表> 使用array_keys 獲取鍵並配合array_fill_keys 重置數組值

使用array_keys 獲取鍵並配合array_fill_keys 重置數組值

M66 2025-06-06

在PHP中, array_keysarray_fill_keys是兩個常用的數組函數。 array_keys可以幫助我們獲取數組中所有的鍵,而array_fill_keys允許我們使用指定的鍵,給數組填充相同的值。這兩個函數可以配合使用,實現非常實用的操作。

什麼是array_keys函數?

array_keys函數返回數組中所有的鍵名。它的語法如下:

 array_keys(array $array, mixed $value = null, bool $strict = false): array
  • $array :輸入的數組。

  • $value (可選):如果提供了此參數, array_keys會返回所有值為$value的鍵。

  • $strict (可選):如果設置為true ,則進行嚴格比較。

什麼是array_fill_keys函數?

array_fill_keys函數可以根據提供的鍵名數組填充一個新的數組,所有的值都設置為指定的值。它的語法如下:

 array_fill_keys(array $keys, mixed $value): array
  • $keys :一個包含鍵名的數組。

  • $value :用於填充的值。

如何結合使用array_keysarray_fill_keys重置數組的值?

通過結合這兩個函數,我們可以先通過array_keys獲取數組中的所有鍵名,然後使用array_fill_keys重置這些鍵的值。

示例代碼

假設我們有一個包含多個鍵值對的數組,我們希望重置這個數組中所有鍵的值為一個指定的值,例如0

 <?php

// 原始數組
$array = [
    'apple' => 10,
    'banana' => 20,
    'cherry' => 30,
];

// 使用 array_keys 獲取所有的鍵名
$keys = array_keys($array);

// 使用 array_fill_keys 重置值
$newArray = array_fill_keys($keys, 0);

// 輸出重置後的數組
print_r($newArray);

?>

代碼解析

  1. array_keys($array) :該函數返回數組$array中的所有鍵名。結果是一個包含'apple''banana''cherry'的數組。

  2. array_fill_keys($keys, 0) :使用array_fill_keys函數,創建一個新數組,其中的鍵名與$keys數組相同,但所有的值都被填充為0

輸出結果:

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

如上所示,所有鍵的值已被成功重置為0

實際應用場景

這種技術在處理大數據時非常有用,尤其是在需要重新初始化數組的值時。假設你從一個數據庫中獲取了一個包含各種數據的數組,現在你希望對某些數據進行重置或初始化,這種方法可以有效簡化代碼。

注意事項

  • 在使用array_fill_keys時,確保傳遞的鍵名數組是有效的。如果鍵名數組為空, array_fill_keys將返回一個空數組。

  • 如果原始數組中的某些鍵名被刪除,或者你希望重置的值和原始數組的值不同, array_fill_keys可以輕鬆地覆蓋掉原來的值。