Home  >  Article  >  Backend Development  >  How to convert key value into value in php array

How to convert key value into value in php array

PHPz
PHPzOriginal
2023-04-19 14:11:56491browse

PHP is a very popular server-side scripting language. Its powerful array function provides programmers with great convenience. An array is a structure used to store data, usually organized in key-value pairs. This structure makes it very convenient for us to access and operate the data in the array. However, sometimes we need to convert the keys and values ​​of the array, such as turning the keys in a key-value pair into values ​​and turning the values ​​into keys. This article will introduce how to use PHP's built-in functions to accomplish this task.

1. Convert the keys of the array into values

We can use PHP's array_values ​​function to convert the keys in the array into values. This function will return a new array containing all the values ​​in the original array, but with the keys renumbered. For example, if the original array looks like this:

$fruits = array("apple" => "red", "banana" => "yellow", "orange" => "orange");

We can use the array_values ​​function to convert it to:

$new_fruits = array_values($fruits);
// $new_fruits = array("red", "yellow", "orange");

At this point, the order in the new array is the same as the original array, but the keys are converted Became a digital index. This can be useful in some cases, such as when we need to sort an array, we can first convert the keys to values ​​and then convert the values ​​back to keys after sorting.

2. Convert the value of the array into a key

To convert the value of the array into a key, we can use PHP's array_flip function. This function will return a new array where the values ​​in the original array are treated as keys and the keys in the original array are treated as values. For example, if the original array looks like this:

$fruits = array("apple" => "red", "banana" => "yellow", "orange" => "orange");

We can use the array_flip function to convert it to:

$new_fruits = array_flip($fruits);
// $new_fruits = array("red" => "apple", "yellow" => "banana", "orange" => "orange");

At this time, the keys in the new array are the values ​​in the original array, and the keys The values ​​are keys in the original array. If the original array has duplicate values, only the last value will be left in the converted array.

3. Use the array_map function to achieve more complex conversions

The array_values ​​and array_flip functions can complete the most basic conversion tasks, but sometimes we need more complex conversions. At this point, you can use PHP's array_map function. The array_map function can accept one or more arrays as parameters and pass the elements of each array to a callback function for processing. The output of the callback function will be combined into a new array and returned. Therefore, we can implement arbitrary conversion logic in the callback function.

For example, suppose we have an array where each value is a person's name and we want to convert all letters in the name to uppercase letters and use the converted string as the key of the new array , the corresponding value in the original array is used as the value of the new array, which can be implemented as follows:

$names = array("Alice", "Bob", "Charlie");

$new_array = array_map(function($name) {
    $key = strtoupper($name); // 将名字转换为大写字母作为新数组的键
    $value = mt_rand(1, 100); // 假设值是一个随机数

    return [$key => $value]; // 返回一个新的数组
}, $names);

print_r($new_array);

Output:

Array
(
    [ALICE] => 40
    [BOB] => 55
    [CHARLIE] => 75
)

At this time, the key in the new array is the uppercase letter in the name, and the value is a random number. We can implement any conversion logic in the callback function according to actual needs.

Summary

PHP’s array function is very powerful and can help us store and manipulate data quickly. Sometimes, we need to convert the keys and values ​​of the array. You can use PHP's array_values ​​function to convert array keys into values, use the array_flip function to convert array values ​​into keys, or use the array_map function to implement more complex conversion logic. These functions can help us quickly convert arrays and improve program efficiency.

The above is the detailed content of How to convert key value into value in php array. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn