在PHP 中, array_fill_keys是一個非常有用的數組函數。它可以用來創建一個新數組,其中的鍵由給定的數組生成,而每個鍵的值則是指定的值。簡而言之, array_fill_keys允許你用相同的值填充一個指定鍵的數組。
array_fill_keys(array $keys, mixed $value): array
$keys :這是一個數組,包含所有需要填充的鍵。
$value :這是用於填充的值,所有的鍵都會使用這個值。
該函數返回一個新數組,數組的鍵由$keys提供,而每個鍵對應的值則是$ value 。
下面是一個示例,展示瞭如何使用array_fill_keys函數:
<?php
// 定義鍵名的數組
$keys = ['apple', 'banana', 'cherry'];
// 定義填充的值
$value = 'fruit';
// 使用 array_fill_keys 填充鍵
$filledArray = array_fill_keys($keys, $value);
// 輸出結果
print_r($filledArray);
?>
Array
(
[apple] => fruit
[banana] => fruit
[cherry] => fruit
)
在這個示例中, $keys數組包含了三個元素: apple 、 banana和cherry ,而$value被設置為fruit 。 array_fill_keys函數將創建一個新數組,數組的鍵是$keys中的元素,每個鍵的值則是'fruit' 。
array_fill_keys在許多情況下都非常有用,尤其是在需要用相同的值初始化數組時。例如,假設你正在處理用戶的權限設置,可以使用array_fill_keys來初始化所有權限為默認值:
<?php
// 定義用戶權限的鍵
$permissions = ['read', 'write', 'execute'];
// 默認的權限值
$defaultPermission = false;
// 初始化權限數組
$userPermissions = array_fill_keys($permissions, $defaultPermission);
// 輸出用戶權限
print_r($userPermissions);
?>
Array
(
[read] =>
[write] =>
[execute] =>
)
在這個示例中,我們為每個權限( read 、 write和execute )初始化了默認值false ,表示用戶沒有這些權限。之後,你可以根據需要修改某些權限。
array_fill_keys也可以與其他PHP 數組函數結合使用,以便更靈活地處理數組。例如,你可以通過array_keys從現有數組中提取鍵,然後用array_fill_keys來創建一個新的數組。
<?php
// 示例數組
$array = ['a' => 1, 'b' => 2, 'c' => 3];
// 提取鍵
$keys = array_keys($array);
// 使用 array_fill_keys 填充新數組
$newArray = array_fill_keys($keys, 0);
// 輸出結果
print_r($newArray);
?>
Array
(
[a] => 0
[b] => 0
[c] => 0
)
在這個例子中,首先通過array_keys提取了原始數組的鍵,然後使用array_fill_keys創建了一個新的數組,其中所有鍵的值被填充為0。