Home  >  Article  >  Backend Development  >  How to change elements under multidimensional array in php

How to change elements under multidimensional array in php

PHPz
PHPzOriginal
2023-04-27 09:05:17589browse

PHP is a very popular web programming language that is popular because of its wide range of applications. Arrays are a very useful data type in PHP. There are many types of arrays in PHP, the most commonly used of which are multi-dimensional arrays. In a multidimensional array, each array element can be an array, forming a two-dimensional, three-dimensional or higher-dimensional array structure. However, when dealing with multidimensional arrays, modifying specific elements can be a bit tricky. This article explains how to change elements in a multidimensional array.

Traversal of multidimensional arrays

Before understanding how to change multidimensional array elements, we need to understand how to traverse multidimensional arrays in PHP. There are many ways to traverse multi-dimensional arrays, below we will introduce the three most common methods.

Method 1: Use for loop to traverse

Using for loop can easily traverse a two-dimensional array. For three-dimensional, four-dimensional or higher-dimensional arrays, multiple for loops need to be nested. As shown below:

$array = array(
    array(1, 2, 3),
    array(4, 5, 6),
    array(7, 8, 9)
);

for ($i = 0; $i < 3; $i++) {
    for ($j = 0; $j < 3; $j++) {
        echo $array[$i][$j] . " ";
    }
    echo "<br>";
}

The output result is:

1 2 3 
4 5 6 
7 8 9

Method 2: Use foreach loop to traverse

Use foreach loop to traverse arrays of any dimension, as shown below:

$array = array(
    array(1, 2, 3),
    array(4, 5, 6),
    array(7, 8, 9)
);

foreach ($array as $value1) {
    foreach ($value1 as $value2) {
        echo $value2 . " ";
    }
    echo "<br>";
}

The output result is:

1 2 3 
4 5 6 
7 8 9

Method 3: Use recursive traversal

Use the recursive method to traverse arrays of any dimension, as shown below:

$array = array(
    array(1, 2, 3),
    array(4, 5, 6),
    array(7, 8, 9)
);

function traverse($array) {
    foreach ($array as $value) {
        if (is_array($value)) {
            traverse($value);
        } else {
            echo $value . " ";
        }
    }
    echo "<br>";
}

traverse($array);

The output result is the same as the first two methods:

1 2 3 
4 5 6 
7 8 9

Modify the elements of a multi-dimensional array

After you know how to traverse a multi-dimensional array, it is easier to modify the elements of the array. In PHP, we can use the subscript of an array to modify the value of an element. Below we will introduce the methods of modifying elements in two-dimensional arrays and three-dimensional arrays respectively.

Modifying elements under a two-dimensional array

It is very simple to modify elements under a two-dimensional array. We just need to use the subscript of the array to update the value of the element as follows:

$array = array(
    array(1, 2, 3),
    array(4, 5, 6),
    array(7, 8, 9)
);

$array[1][1] = 10;

for ($i = 0; $i < 3; $i++) {
    for ($j = 0; $j < 3; $j++) {
        echo $array[$i][$j] . " ";
    }
    echo "<br>";
}

The output is:

1 2 3 
4 10 6 
7 8 9

In the above example, we use $array[ 1][1] = 10; Updates the elements in the two-dimensional array. We then use a for loop to verify that the element has been updated.

Modifying elements under a three-dimensional array

Modifying elements under a three-dimensional array is a little more complicated. We need to use multiple array subscripts to access elements in the array. As shown below:

$array = array(
    array(
        array(1, 2, 3),
        array(4, 5, 6),
        array(7, 8, 9)
    ),
    array(
        array(10, 11, 12),
        array(13, 14, 15),
        array(16, 17, 18)
    )
);

$array[1][1][1] = 20;

function traverse($array) {
    foreach ($array as $value) {
        if (is_array($value)) {
            traverse($value);
        } else {
            echo $value . " ";
        }
    }
    echo "<br>";
}

traverse($array);

The output is:

1 2 3 
4 5 6 
7 8 9 
10 11 12 
13 20 15 
16 17 18

In the above example, we use $array[1][1][1] = 20; Updated elements in a three-dimensional array. Since recursion is required when traversing a three-dimensional array, we use the traverse function to traverse the entire array.

Summary

In this article, we introduced how to modify elements in a multidimensional array using PHP. We learned about three ways to work with multidimensional arrays and provided examples of two- and three-dimensional arrays that demonstrate how to use array subscripts to access and update array elements. In this way, everyone can use PHP more flexibly to process complex multi-dimensional array structures.

The above is the detailed content of How to change elements under multidimensional 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