Home  >  Article  >  Backend Development  >  How to batch modify array values ​​in php

How to batch modify array values ​​in php

PHPz
PHPzOriginal
2023-04-20 13:48:36836browse

PHP is a widely used server-side programming language that is often used to write dynamic web pages and web applications. In PHP, you can use arrays to organize and manage data. When you need to batch modify the values ​​of an array, PHP provides several different ways to accomplish this task.

1. Use a foreach loop to traverse the array and modify the value

Using a foreach loop to traverse the array and modify each element is a simple and effective method. The following is a sample code:

$numbers = array(1, 2, 3, 4, 5);
foreach ($numbers as &$number) {
   $number = $number * 2;
}

print_r($numbers);

The above code will output the result as:

Array
(
    [0] => 2
    [1] => 4
    [2] => 6
    [3] => 8
    [4] => 10
)

In the above code, we use the & symbol (reference symbol) to get the value of each array element Reference, so that we can directly modify the value of the element within the loop body.

2. Use the array_map() function

PHP provides the array_map() function to perform batch modification operations. The following is a sample code:

$numbers = array(1, 2, 3, 4, 5);
function multiply($number) {
   return $number * 2;
}
$numbers = array_map("multiply", $numbers);

print_r($numbers);

The above code will output the result as:

Array
(
    [0] => 2
    [1] => 4
    [2] => 6
    [3] => 8
    [4] => 10
)

In the above code, we define a function multiply(), which is used to multiply each element Multiply by 2. We then call this function using the array_map() function and store the result back into the original array.

3. Use the array_walk() function

PHP also provides the array_walk() function, which can iterate the array and execute a custom function on each element. The following is a sample code:

$numbers = array(1, 2, 3, 4, 5);
function multiply(&$value, $key) {
   $value *= 2;
}
array_walk($numbers, "multiply");

print_r($numbers);

The above code will output the result as:

Array
(
    [0] => 2
    [1] => 4
    [2] => 6
    [3] => 8
    [4] => 10
)

In the above code, we define a function multiply(), which uses the & symbol (quote symbol) to get a reference to each element. We then call this function using the array_walk() function, which will act on each element in the original array.

4. Use the array_fill() and array_keys() functions

Using the array_fill() and array_keys() functions together can achieve the effect of modifying array values ​​in batches. The following is a sample code:

$numbers = array_fill(0, 5, 1);
$keys = array_keys($numbers);
foreach ($keys as $key) {
   $numbers[$key] *= 2;
}

print_r($numbers);

The above code will output the result as:

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

In the above code, we first use the array_fill() function to create an array of size 5, and Set the value of each element to 1. We then use the array_keys() function to get the keys of the array elements and use a foreach loop to iterate over the keys. In the loop body, we multiply the value of each element by 2 to achieve the purpose of batch modifying the array.

Summary

This article introduces four ways to modify array values ​​in batches in PHP: using a foreach loop to traverse the array and modify the values, using the array_map() function, using the array_walk() function, and using array_fill( ) combined with the array_keys() function. These methods are simple and effective. You can choose one of them according to your needs to achieve the task of batch modifying arrays.

The above is the detailed content of How to batch modify array values ​​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