Home  >  Article  >  Backend Development  >  How to replace values ​​in an array in php

How to replace values ​​in an array in php

PHPz
PHPzOriginal
2023-04-25 09:04:17627browse

PHP, as a server-side scripting language, often needs to process array data. One of the common requirements is to replace the values ​​in the array. Replacing values ​​in an array can be achieved through the array_map() function, or through a foreach loop. This article will explain the specific steps of the two implementation methods using code.

The first way: use the array_map() function

array_map() is a method that passes each element of one or more arrays to a callback function and returns a callback function containing Function for array of processed elements. Using the array_map() function can easily replace values ​​in an array.

For example, there is now an array $originalArray, in which "value1" needs to be replaced with "newvalue1", the code is as follows:

$originalArray = array("key1" => "value1", "key2" => "value2", "key3" => "value3");

function changeValue($value)
{
    if ($value == "value1") {
        return "newvalue1";
    } else {
        return $value;
    }
}

$newArray = array_map("changeValue", $originalArray);

print_r($newArray);

Run the code, the output result is as follows:

Array
(
    [key1] => newvalue1
    [key2] => value2
    [key3] => value3
)

As can be seen from the above code, a callback function changeValue() is defined to determine whether the received value is "value1". If so, return "newvalue1", otherwise return the original value. Then use the array_map() function to pass the original array $originalArray and the callback function "changeValue" into the function, get the new array $newArray, and output the result.

Second way: Use foreach loop

Using foreach loop can also replace the values ​​in the array. The specific steps are as follows:

$originalArray = array("key1" => "value1", "key2" => "value2", "key3" => "value3");

foreach ($originalArray as $key => $value) {
    if ($value == "value1") {
        $originalArray[$key] = "newvalue1";
    }
}

print_r($originalArray);

Run the code, the output results are as follows:

Array
(
    [key1] => newvalue1
    [key2] => value2
    [key3] => value3
)

As can be seen from the above code, use a foreach loop to traverse the array $originalArray to determine whether to replace the value of $value. If the current value of $value is "value1", then the corresponding value in the $originalArray array The value of the $key value is updated to "newvalue1".

Summary

Both of the above two methods can realize the replacement of values ​​in the array. For large amounts of data, using the array_map() function is usually faster than using a foreach loop. However, it should be noted that problems will occur when using the array_map() function to process multi-dimensional arrays, and recursive functions need to be used to solve them. And when using a foreach loop to process an array, pay attention to modifying the value of the original array, otherwise an infinite loop may occur. In actual development, it is necessary to choose the appropriate method according to the specific situation.

The above is the detailed content of How to replace values ​​in an array in php. 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