Heim  >  Artikel  >  Backend-Entwicklung  >  So rufen Sie ein Subarray in einem Array in PHP auf

So rufen Sie ein Subarray in einem Array in PHP auf

PHPz
PHPzOriginal
2023-04-24 15:51:03468Durchsuche

In PHP müssen wir häufig Arrays zum Speichern und Verwalten von Daten verwenden. Manchmal stoßen wir auf ein Array, das ein anderes Array enthält, bei dem es sich um ein sogenanntes mehrdimensionales Array handelt. Wie rufe ich in PHP ein Array auf, das in einem anderen Array enthalten ist? In diesem Artikel wird dies ausführlich vorgestellt.

  1. Was ist ein mehrdimensionales Array?

Ein mehrdimensionales Array bezieht sich auf ein Array, das ein anderes oder mehrere Arrays in einem Array speichert. Sie können mehrere Verschachtelungsebenen oder unterschiedliche Datentypen haben. Zum Beispiel:

$arr = array(
    '中国' => array('北京', '上海', '广州'),
    '美国' => array('纽约', '洛杉矶', '芝加哥'),
    '英国' => array('伦敦', '曼彻斯特', '爱丁堡')
);

In diesem Beispiel enthält das Array $arr drei Schlüssel-Wert-Paare, jedes Schlüssel-Wert-Paar ist ein Array und diese Arrays enthalten mehrere Städtenamen. Dies ist ein zweidimensionales Array, da seine Verschachtelungsebene 2 beträgt.

Natürlich können mehrdimensionale Arrays komplexer sein und die Anzahl der verschachtelten Ebenen kann beliebig erhöht werden.

  1. So rufen Sie ein Array in einem mehrdimensionalen Array auf

Um in PHP auf ein Element in einem mehrdimensionalen Array zuzugreifen, müssen Sie einen Index (d. h. einen Schlüsselwert) verwenden, um darauf zuzugreifen. Beispielsweise können wir die folgende Methode verwenden, um die erste Stadt der chinesischen Städte im Array $arr auszudrucken:

echo $arr['中国'][0]; //输出北京

Beachten Sie hier, dass $arr['China'] ein Array und keinen bestimmten Stadtnamen zurückgibt, also wir kann dann eckige Klammern [] verwenden, um auf die Elemente in diesem Array zuzugreifen. Wenn Sie die drittgrößte Stadt in den Vereinigten Staaten (z. B. Chicago) besuchen möchten, können Sie auch Folgendes schreiben:

echo $arr['美国'][2]; //输出芝加哥

Der Zugriffsmodus für mehrdimensionale Arrays ähnelt dem für eindimensionale Arrays, mit der Ausnahme, dass Sie Folgendes benötigen um eine zusätzliche Klammer hinzuzufügen, um auf das verschachtelte Unterarray zuzugreifen. Wenn Sie den Wert eines Elements ändern müssen, können Sie diese Methode auch zum Betrieb verwenden.

  1. Mehrdimensionale Arrays durchlaufen

Das Durchlaufen mehrdimensionaler Arrays ist etwas, was wir in der tatsächlichen Entwicklung oft tun müssen. Es ist einfach, ein bestimmtes Element in einem mehrdimensionalen Array auszugeben, aber wenn Sie das gesamte Array durchlaufen müssen, müssen Sie Traversal verwenden.

PHP bietet eine Vielzahl von Möglichkeiten zum Durchlaufen von Arrays, einschließlich for-Schleifen, foreach-Schleifen, while-Schleifen usw. Hier nehmen wir die foreach-Schleife als Beispiel, um zu demonstrieren, wie das obige mehrdimensionale Array durchlaufen wird.

Zuerst können wir eine Doppelschleife verwenden, um das 2D-Array zu durchlaufen. Der folgende Code gibt alle Städtenamen im obigen Array $arr aus:

foreach ($arr as $country => $cities) {
    echo $country . '的城市有:';
    foreach ($cities as $city) {
        echo $city . ', ';
    }
    echo '<br>';
}

In diesem Beispiel wird die äußere foreach-Schleife verwendet, um jedes Element im Hauptarray $arr zu durchlaufen, also alle Länder und ihre Stadtarrays. Anschließend wird die innere foreach-Schleife verwendet, um jedes Stadt-Array zu durchlaufen und den entsprechenden Stadtnamen auszugeben.

Für höherdimensionale Arrays müssen wir die entsprechende Anzahl von Schleifenschichten erhöhen. Dieser Prozess muss flexibel an die tatsächlichen Bedingungen angepasst werden.

  1. Allgemeine mehrdimensionale Array-Operationen

Nachdem Sie verstanden haben, wie man auf mehrdimensionale Arrays zugreift und diese durchquert, finden Sie hier einige gängige Operationen in praktischen Anwendungen:

  • Elemente zu mehrdimensionalen Arrays hinzufügen: Verwenden Sie Indizes, um die direkt einzufügen Array an der entsprechenden Stelle ablegen.
$arr['中国'][] = '深圳'; //添加深圳到中国城市数组的末尾
  • Elemente in mehrdimensionalen Arrays finden: Verwenden Sie Traversal oder die PHP-eigene Funktion in_array().
//遍历方式
function findCity($arr, $cityName) {
    foreach ($arr as $country => $cities) {
        if (in_array($cityName, $cities)) {
            return $country;
        }
    }
    return false;
}

//in_array()方式
if (in_array('芝加哥', $arr['美国'])) {
    echo '美国有芝加哥这个城市。';
}
  • Elemente in mehrdimensionalen Arrays ändern: Verwenden Sie den entsprechenden Index, um das entsprechende Element zu finden, und ändern Sie es dann.
$arr['英国'][2] = '布莱顿'; //将英国城市数组中的第三个城市改成布莱顿
  • Elemente in einem mehrdimensionalen Array löschen: Verwenden Sie die Funktion unset(), um das Element mit dem angegebenen Index zu löschen.
unset($arr['中国'][0]); //删除中国的第一个城市北京
  1. Zusammenfassung

Dieser Artikel bietet eine Einführung in die Grundkonzepte mehrdimensionaler Arrays in PHP und zeigt, wie man auf ein in einem anderen Array enthaltenes Array zugreift und wie man mehrdimensionale Arrays durchläuft und manipuliert. Mehrdimensionale Arrays sind in der tatsächlichen Entwicklung weit verbreitet und die Beherrschung ihrer Grundoperationen ist für das Schreiben effizienter PHP-Programme sehr wichtig. Ich hoffe, dieser Artikel kann den Lesern hilfreich sein.

Das obige ist der detaillierte Inhalt vonSo rufen Sie ein Subarray in einem Array in PHP auf. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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