Current Location: Home> Latest Articles> Comparison of applicable scenarios between array_fill() and array_fill_keys()

Comparison of applicable scenarios between array_fill() and array_fill_keys()

M66 2025-05-14

In PHP, array_fill() and array_fill_keys() are two functions used to generate arrays. Although their functions are similar, they each have their own unique scenarios and applicable occasions when used in actual use. Understanding their differences will help us make more appropriate choices when programming. This article will introduce these two functions in detail to help you understand when to use them and how they are applicable.

array_fill() function

The array_fill() function is used to fill elements of a specified interval of an array, and all elements are set to the same value. Its syntax is as follows:

 array_fill(int $start_index, int $num, mixed $value): array

Parameter description:

  • $start_index : The index to start populating (must be an integer).

  • $num : The number of elements to be filled.

  • $value : fills the value of the array.

Example:

 $array = array_fill(0, 5, 'PHP');
print_r($array);

Output result:

 Array
(
    [0] => PHP
    [1] => PHP
    [2] => PHP
    [3] => PHP
    [4] => PHP
)

Use scenarios:

The array_fill() function is suitable for scenarios where an array containing the same value needs to be created, such as initializing an array, filling the default value of a specified index range, etc.

array_fill_keys() function

The array_fill_keys() function is used to create an array based on the given key and set the corresponding values ​​of all keys to the same value. Its syntax is as follows:

 array_fill_keys(array $keys, mixed $value): array

Parameter description:

  • $keys : an array that needs to be an array key.

  • $value : The value set to all keys.

Example:

 $keys = ['a', 'b', 'c'];
$array = array_fill_keys($keys, 'PHP');
print_r($array);

Output result:

 Array
(
    [a] => PHP
    [b] => PHP
    [c] => PHP
)

Use scenarios:

The array_fill_keys() function is suitable for scenarios where arrays need to be filled based on a given key, especially when we need to initialize a specific set of keys with the same value. It can be used in many cases, such as initializing configuration items, generating arrays that require specific keys, etc.

Differences and choices

Although both array_fill() and array_fill_keys() can be used to create arrays with the same value, they apply differently.

1. Indexing method

  • array_fill() fills an array through numeric indexing and is suitable for scenarios where arrays need to be filled in index order.

  • array_fill_keys() fills the array according to the given key, which is suitable for cases where the key is specific and non-numeric type.

2. Applicable scenarios

  • When using array_fill() , you usually already know the index range that needs to be filled without caring about the name of the key. For example, you might want to initialize an array with a specific number of elements and make sure that each element is set to the same value.

  • When using array_fill_keys() , you already have an array containing a specific key and want all keys to set the values ​​corresponding to the same value. Common application scenarios include configuring the initialization of arrays, or setting default values ​​for certain specific items.

Summarize

  • If you need to fill an array with a specific number and order, and the index is a numeric type, use array_fill() .

  • If you have an array containing a specific key and want to assign the same value to all keys, use array_fill_keys() .

Choose the right function according to your specific needs, which can make the code more concise, clear and efficient. Understanding their differences is a small step to improving PHP programming capabilities.