Heim > Backend-Entwicklung > PHP-Problem > So ändern Sie Elemente in einem mehrdimensionalen Array in PHP

So ändern Sie Elemente in einem mehrdimensionalen Array in PHP

PHPz
Freigeben: 2023-04-27 10:28:53
Original
621 Leute haben es durchsucht

PHP ist eine sehr beliebte Web-Programmiersprache, die sich durch ihr breites Anwendungsspektrum auszeichnet. Arrays sind ein sehr nützlicher Datentyp in PHP. Es gibt viele Arten von Arrays in PHP, die am häufigsten verwendeten sind mehrdimensionale Arrays. In einem mehrdimensionalen Array kann jedes Array-Element ein Array sein und somit eine zweidimensionale, dreidimensionale oder höherdimensionale Array-Struktur bilden. Beim Umgang mit mehrdimensionalen Arrays kann es jedoch etwas schwierig sein, bestimmte Elemente zu ändern. In diesem Artikel wird erläutert, wie Elemente in einem mehrdimensionalen Array geändert werden.

Durchlaufen mehrdimensionaler Arrays

Bevor wir verstehen, wie man mehrdimensionale Array-Elemente ändert, müssen wir verstehen, wie man mehrdimensionale Arrays in PHP durchläuft. Es gibt viele Möglichkeiten, mehrdimensionale Arrays zu durchlaufen. Im Folgenden stellen wir die drei gängigsten Methoden vor.

Methode 1: Verwenden Sie eine for-Schleife zum Durchlaufen.

Verwenden Sie eine for-Schleife, um bequem ein zweidimensionales Array zu durchlaufen. Für dreidimensionale, vierdimensionale oder höherdimensionale Arrays müssen mehrere for-Schleifen verschachtelt werden. Wie unten gezeigt:

$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>";
}
Nach dem Login kopieren

Das Ausgabeergebnis ist:

1 2 3 
4 5 6 
7 8 9
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren

Methode 2: Verwenden Sie die foreach-Schleife zum Durchlaufen

Verwenden Sie die foreach-Schleife zum Durchlaufen von Arrays beliebiger Dimension, wie unten gezeigt:

$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>";
}
Nach dem Login kopieren

Das Ausgabeergebnis ist:

1 2 3 
4 5 6 
7 8 9
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren

Methode 3: Rekursive Durchquerung verwenden

Mit der rekursiven Methode können Arrays jeder Dimension durchlaufen werden, wie unten gezeigt:

$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);
Nach dem Login kopieren

Die Ausgabeergebnisse sind die gleichen wie bei den ersten beiden Methoden:

1 2 3 
4 5 6 
7 8 9
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren

Ändern Sie die Elemente des mehrdimensionalen Arrays

Sobald Sie wissen, wie Sie das mehrdimensionale Array durchlaufen, ist das Ändern von Array-Elementen noch einfacher. In PHP können wir den Index eines Arrays verwenden, um den Wert eines Elements zu ändern. Im Folgenden stellen wir die Methoden zum Modifizieren von Elementen in zweidimensionalen Arrays bzw. dreidimensionalen Arrays vor.

Elemente in einem zweidimensionalen Array ändern

Elemente in einem zweidimensionalen Array ändern ist sehr einfach. Wir müssen lediglich den Wert des Elements mithilfe des Index des Arrays wie folgt aktualisieren:

$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>";
}
Nach dem Login kopieren

Die Ausgabe lautet:

1 2 3 
4 10 6 
7 8 9
Nach dem Login kopieren

Im obigen Beispiel verwenden wir $array[1][1] = 10; Aktualisiert Elemente in einem zweidimensionalen Array. Anschließend verwenden wir eine for-Schleife, um zu überprüfen, ob das Element aktualisiert wurde. $array[1][1] = 10; 更新了二维数组中的元素。然后,我们使用 for 循环来验证元素是否已被更新。

三维数组下修改元素

在三维数组下修改元素稍微复杂一些。我们需要使用多次数组下标来访问数组中的元素。如下所示:

$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);
Nach dem Login kopieren

输出结果为:

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

在上面的示例中,我们使用 $array[1][1][1] = 20; 更新了三维数组中的元素。由于遍历三维数组时需要使用递归,因此我们使用了 traverse

Elemente in einem dreidimensionalen Array ändern

Elemente in einem dreidimensionalen Array ändern ist etwas komplizierter. Wir müssen mehrere Array-Indizes verwenden, um auf Elemente im Array zuzugreifen. Wie unten gezeigt:

rrreee

Die Ausgabe lautet: 🎜rrreee🎜Im obigen Beispiel verwenden wir $array[1][1][1] = 20;, um die Elemente in den drei zu aktualisieren. dimensionales Array. Da beim Durchlaufen eines dreidimensionalen Arrays eine Rekursion erforderlich ist, verwenden wir die Funktion traverse, um das gesamte Array zu durchqueren. 🎜🎜Zusammenfassung🎜🎜In diesem Artikel haben wir vorgestellt, wie man Elemente in einem mehrdimensionalen Array mit PHP ändert. Wir haben drei Möglichkeiten zum Arbeiten mit mehrdimensionalen Arrays kennengelernt und Beispiele für zwei- und dreidimensionale Arrays bereitgestellt, die zeigen, wie Array-Indizes verwendet werden, um auf Array-Elemente zuzugreifen und diese zu aktualisieren. Auf diese Weise kann jeder PHP flexibler nutzen, um komplexe mehrdimensionale Array-Strukturen zu verarbeiten. 🎜

Das obige ist der detaillierte Inhalt vonSo ändern Sie Elemente in einem mehrdimensionalen Array in PHP. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage