Home > Article > Backend Development > How to change value of PHP array in loop
In PHP development, it is often necessary to loop through an array and change the value of the array during the loop. This article will explain how to change the value of a PHP array in a loop.
1. Common loop operations
PHP provides three commonly used loop structures: for, while and foreach. These structures are used to iterate over the elements of an array. Let's take a look at how to use a for loop to change an array.
1. Change the array subscript
Changing the array subscript is usually implemented using a for loop. The sample code is as follows:
<?php $array=array("apple","banana","cherry"); for($i=0;$i<count($array);$i++) { $array[$i]=$array[$i]."_fruit"; } print_r($array); ?>
The output result is:
Array ( [0] => apple_fruit [1] => banana_fruit [2] => cherry_fruit )
In the above code, we define an original array, then traverse the array through a for loop, modify the value of each element, and reassign the modified new value to the element.
2. Change the array value
Changing the array value is similar to changing the array subscript, but it can be achieved only through the foreach loop statement. The sample code is as follows:
<?php $array=array(1,2,3,4,5); foreach ($array as &$value) { $value=$value*2; } unset($value); print_r($array); ?>
The output result is:
Array ( [0] => 2 [1] => 4 [2] => 6 [3] => 8 [4] => 10 )
In the above code, we use a foreach loop and assign the reference of each element of the array to the variable $value, and then we $value operates, that is, changes the value of the array. It should be noted that we used unset to destroy the reference of $value to prevent problems after the loop ends.
2. Use the array_map() function
The array_map() function is also a good way to change the array value. It accepts a function that can change the array elements and the array to be operated as parameters. And returns a new array, where each element of the new array is the result of applying the function on the original array.
The following is an example:
<?php $array=array(1,2,3,4,5); function double($a) { return $a*2; } $new_array=array_map("double",$array); print_r($new_array); ?>
The output result is:
Array ( [0] => 2 [1] => 4 [2] => 6 [3] => 8 [4] => 10 )
In the above code, we define the function double(), which is used to change the value of the array element , and pass this function to the array_map() function to operate on the original array. The array_map() function returns the new array and stores it in the variable $new_array, and then we output the variable.
3. Use the array_walk() function
The array_walk() function is also a good way to change the array value. It accepts a function that can change the array elements and the array to be operated as parameters. The function is then applied to each array element and the original array is updated. The following is an example:
<?php $array=array(1,2,3,4,5); function double1(&$a) { $a=$a*2; } array_walk($array,"double1"); print_r($array); ?>
The output result is:
Array ( [0] => 2 [1] => 4 [2] => 6 [3] => 8 [4] => 10 )
In the above code, we define the function double1(), which is used to change the value of the array element and pass the function Give the array_walk() function to operate on the original array. The array_walk() function updates the value of the original array and stores it in the variable $array, and then we output the variable. It should be noted that the parameters of the function double1() are passed by reference, so that the value of the original array can be updated.
Summary
PHP provides a variety of methods for changing array values in a loop, including for loops, foreach loops, array_map() function and array_walk() function. Different methods are suitable for different application scenarios, and you need to choose according to actual needs. By applying these methods flexibly, developers can process array data more efficiently.
The above is the detailed content of How to change value of PHP array in loop. For more information, please follow other related articles on the PHP Chinese website!