Current Location: Home> Latest Articles> Used in conjunction with range() to generate ordered key-value maps

Used in conjunction with range() to generate ordered key-value maps

M66 2025-06-07

In PHP, array_combine() and range() are two commonly used functions that can help us easily generate ordered key-value maps. This article will explain how to use these two functions to create an ordered associative array, and provide sample code and detailed instructions.

1. What is the range() function?

The range() function is used to generate an array within a specified range. You can specify the start value, end value, and step size, range() will return an array arranged in order.

grammar:

 range(start, end, step);
  • start : The starting value of the range.

  • end : The end value of the range.

  • step (optional): step size, default is 1.

For example:

 $numbers = range(1, 5);
print_r($numbers);

Output:

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

2. What is the array_combine() function?

The array_combine() function is used to combine two arrays into an associative array. The values ​​in the first array will become the keys of the new array, and the values ​​in the second array will become the corresponding values ​​of these keys.

grammar:

 array_combine(keys, values);
  • keys : an array containing keys.

  • values ​​: an array containing values.

If the lengths of the two arrays are inconsistent, array_combine() will return false .

For example:

 $keys = ['a', 'b', 'c'];
$values = [1, 2, 3];
$result = array_combine($keys, $values);
print_r($result);

Output:

 Array
(
    [a] => 1
    [b] => 2
    [c] => 3
)

3. How to generate ordered key-value maps using range() and array_combine() ?

We can combine range() and array_combine() to generate ordered key-value maps. First, use range() to generate an array containing numbers or letters, then combine the array with another array of values, and finally generate an associative array.

Here is an example of using range() and array_combine() to generate an ordered key-value map:

Sample code:

 // use range() Create an array of numbers as keys
$keys = range(1, 5);

// use range() Create an alphabetical array as a value
$values = ['a', 'b', 'c', 'd', 'e'];

// use array_combine() Create an ordered key-value map
$mapping = array_combine($keys, $values);

// Output result
print_r($mapping);

Output:

 Array
(
    [1] => a
    [2] => b
    [3] => c
    [4] => d
    [5] => e
)

In the above code, range(1, 5) generates an array of keys [1, 2, 3, 4, 5] and range('a', 'e') generates an array of values ​​['a', 'b', 'c', 'd', 'e'] . Through the array_combine() function, we combine these two arrays to generate an ordered associative array.

4. Advanced use: Combined with URL modification

In some applications, the generated array value may need to be modified to a specific URL address. We can easily achieve this through array operations.

Suppose we need to map the generated value to the URL containing a specific domain name, such as converting all letter values ​​into the corresponding URL.

Sample code:

 // use range() Create an array of numbers as keys
$keys = range(1, 5);

// use range() Create an alphabetical array as a value
$values = ['a', 'b', 'c', 'd', 'e'];

// use array_combine() Create an ordered key-value map
$mapping = array_combine($keys, $values);

// Traversal results,Convert each letter to URL
foreach ($mapping as $key => $value) {
    $mapping[$key] = 'https://m66.net/' . $value;
}

// Output the final result
print_r($mapping);

Output:

 Array
(
    [1] => https://m66.net/a
    [2] => https://m66.net/b
    [3] => https://m66.net/c
    [4] => https://m66.net/d
    [5] => https://m66.net/e
)

In this example, we convert the letter values ​​a , b , c , etc. into the corresponding URL address.

By combining range() and array_combine() functions, you can generate various ordered key-value maps with great flexibility and perform further processing, such as dynamically modifying values ​​in arrays. Hopefully this tutorial will help you better understand and use these two powerful functions.