Ausführliche Erläuterung der Anwendungsbeispiele für die Durchquerung des foreach-Arrays im PHP-Array (Bild)

黄舟
Freigeben: 2023-03-07 12:02:01
Original
7063 Leute haben es durchsucht

Was bedeutet foreach, um ein Array zu durchlaufen?

Wenn wir foreach zum Durchlaufen eines Arrays verwenden, machen wir aufgrund unklarer Konzepte häufig Fehler. Hier finden Sie eine kurze Einführung in häufig verwendete foreach-Operationen.

(PHP 4, PHP 5, PHP 7)

Die foreach-Syntaxstruktur bietet eine einfache Möglichkeit, ein Array zu durchlaufen. foreach kann nur auf Arrays und Objekte angewendet werden. Wenn Sie versuchen, es auf Variablen anderer Datentypen oder nicht initialisierte Variablen anzuwenden, wird eine Fehlermeldung ausgegeben.

Zwei Syntaxen für foreach zum Durchlaufen eines Arrays :

foreach (array_expression as $value)
    statement
foreach (array_expression as $key => $value)
    statement
Nach dem Login kopieren

Das erste Format durchläuft das angegebene Array array_expression. In jeder Schleife wird $value der Wert der aktuellen Einheit zugewiesen und der Zeiger innerhalb des Arrays bewegt sich einen Schritt vorwärts (sodass die nächste Einheit in der nächsten Schleife erhalten wird).

Das zweite Format macht dasselbe, außer dass der Schlüsselname der aktuellen Einheit in jeder Schleife auch der Variablen $key zugewiesen wird.

Seit PHP 5 ist es auch möglich, Objekte zu durchlaufen.

Hinweis: Wenn foreach mit der Ausführung beginnt, zeigt der Zeiger im Array automatisch auf die erste Einheit. Dies bedeutet, dass vor der foreach-Schleife kein Aufruf von reset() erforderlich ist.

Hinweis: Sofern nicht auf das Array verwiesen wird, bearbeitet foreach eine Kopie des angegebenen Arrays, nicht das Array selbst. foreach hat einige Nebenwirkungen auf Array-Zeiger. Verlassen Sie sich während oder nach einer foreach-Schleife nicht auf den Wert eines Array-Zeigers, es sei denn, dieser wird zurückgesetzt.

Seit PHP 5 ist es einfach, die Elemente eines Arrays zu ändern, indem man & vor $value hinzufügt. Diese Methode weist einen Wert per Referenz zu, anstatt ihn zu kopieren. Die Referenz von

<?php
header("Content-Type:text/html; charset=utf-8");
$arr = array(1, 2, 3, 4);
foreach ($arr as &$value) {
    $value = $value * 2;
}
// $arr is now array(2, 4, 6, 8)
unset($value); // 最后取消掉引用
?>
Nach dem Login kopieren

$value ist nur verfügbar, wenn auf das zu durchlaufende Array referenziert werden kann (es handelt sich beispielsweise um eine Variable). Der folgende Code wird nicht ausgeführt:

<?php
foreach (array(1, 2, 3, 4) as &$value) {
    $value = $value * 2;
}
?>
Nach dem Login kopieren

Hinweis: Die $value-Referenz des letzten Elements des Arrays bleibt nach der foreach-Schleife weiterhin erhalten. Es wird empfohlen, unset() zu verwenden, um es zu zerstören. foreach unterstützt nicht die Möglichkeit, Fehlermeldungen mit „@“ zu unterdrücken.

Das Folgende ist ein Beispiel für das Durchlaufen eines Arrays durch PHP

1 Das zu durchlaufende Array ist eindimensional Array, was relativ einfach ist. Wenn es sich um ein einzelnes Array handelt, verwenden Sie zwei Methoden zur Darstellung:

<?php
header("Content-Type:text/html; charset=utf-8");
$array = array("PHP中文网","百度","搜狗","m.sbmmt.com");
foreach ($array as $value){
    echo $value."<br>";
}
echo "<br>";
foreach ($array as $key =>$value){
    echo $key."--".$value."<br>";
}
?>
Nach dem Login kopieren

Das Ausgabeergebnis ist:

Ausführliche Erläuterung der Anwendungsbeispiele für die Durchquerung des foreach-Arrays im PHP-Array (Bild)

2 ist ein eindimensionales assoziatives Array, das wie folgt angezeigt wird: Beachten Sie, dass die Schlüsselwerte unterschiedlich sind:

<?php
header("Content-Type:text/html; charset=utf-8");
$array = array("网站1"=>"PHP中文网","网站2"=>"百度","网站3"=>"搜狗","网址"=>"m.sbmmt.com");
foreach ($array as $value){
    echo $value."<br>";
}
echo "<br>";
foreach ($array as $key =>$value){
    echo $key."--".$value."<br>";
}
?>
Nach dem Login kopieren

Das Durchlaufergebnis ist:

Ausführliche Erläuterung der Anwendungsbeispiele für die Durchquerung des foreach-Arrays im PHP-Array (Bild)

3. Durchlaufen Sie das zweidimensionale Array. Es ist etwas schwieriger. Der Wert ist zu diesem Zeitpunkt ein Array, aus dem verschiedene Methoden zum Betreiben von Arrays abgeleitet werden können. Lassen Sie uns zuerst das grundlegende zweidimensionale Array durchlaufen:

<?php
header("Content-Type:text/html; charset=utf-8");
$array = array(
    array("1","PHP中文网"),
    array("2","m.sbmmt.com"),
    array("3","百度"),
    array("4","搜狗")
);
foreach ($array as $value){
    print_r($value);
    echo "<br>";
}
?>
Nach dem Login kopieren

Die Durchlaufergebnisse lauten wie folgt:

Ausführliche Erläuterung der Anwendungsbeispiele für die Durchquerung des foreach-Arrays im PHP-Array (Bild)

Verwenden Sie beim Durchlaufen des Arrays die zweite Methode , Sie müssen auf den Wert des Schlüssels achten, ihn nicht mit dem Array-ID-Wert verwechseln

<?php
header("Content-Type:text/html; charset=utf-8");
$array = array(
    array("1","PHP中文网"),
    array("2","m.sbmmt.com"),
    array("3","百度"),
    array("4","搜狗")
);
foreach ($array as $key =>$value){
    echo "key =".$key."<br>";
    print_r($value);
    echo "<br>";
}
?>
Nach dem Login kopieren

Die Durchlaufergebnisse sind wie folgt:

Ausführliche Erläuterung der Anwendungsbeispiele für die Durchquerung des foreach-Arrays im PHP-Array (Bild)

Darüber hinaus gibt es häufig Anfragen, zwei zu kombinieren. Eine bestimmte Spalte des dimensionalen Arrays wird zu einem eindimensionalen Array. Zu diesem Zeitpunkt muss das entsprechende Feld im Wert herausgenommen und in das eindimensionale Array eingefügt werden. Wenn es mit einer for-Schleife betrieben wird, ist es einfacher, foreach zu verwenden. Die ID-Spalte des aktuellen Arrays wird wie folgt gespeichert:

<?php
header("Content-Type:text/html; charset=utf-8");
$array = array(
    array("id"=>"1","name"=>"PHP中文网"),
    array("id"=>"2","name"=>"m.sbmmt.com"),
    array("id"=>"3","name"=>"百度"),
    array("id"=>"4","name"=>"搜狗")
); //二维数组定义
//获取某一列作为一维数组
$idArr = array();//id列
$nameARR = array();//name列
foreach($array as $key => $value){
    $arr = $value["id"];
    $idArr =$arr;  //存入ID列
    $name = $value["name"];
    $nameARR = $name;  //存入name列
    print_r($idArr);
    print_r($nameARR);
}
?>
Nach dem Login kopieren

Das Durchlaufergebnis ist:

Ausführliche Erläuterung der Anwendungsbeispiele für die Durchquerung des foreach-Arrays im PHP-Array (Bild)


[Empfohlene Tutorials]

1 : „php array (Array)

2. Empfohlene verwandte Videokurse: „ Verwenden Sie die foreach-Schleife zum Durchlaufen: Index und assoziatives Array


Das obige ist der detaillierte Inhalt vonAusführliche Erläuterung der Anwendungsbeispiele für die Durchquerung des foreach-Arrays im PHP-Array (Bild). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
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