Heim > Backend-Entwicklung > PHP-Problem > Welche verschiedenen Möglichkeiten gibt es, Arrays in PHP zu durchlaufen?

Welche verschiedenen Möglichkeiten gibt es, Arrays in PHP zu durchlaufen?

青灯夜游
Freigeben: 2023-03-14 08:02:01
Original
4778 Leute haben es durchsucht

Loop-Methode: 1. Verwenden Sie die for-Anweisung, um das Array zu durchlaufen. 2. Verwenden Sie die foreach()-Anweisung, um das Array zu durchlaufen. 3. Verwenden Sie die while-Anweisung mit den Funktionen list() und every(), um das Array zu durchlaufen. 4. Verwenden Sie die while-Anweisung mit key(), current(), next() und anderen Zeigerfunktionen, um das Array zu durchlaufen.

Welche verschiedenen Möglichkeiten gibt es, Arrays in PHP zu durchlaufen?

Die Betriebsumgebung dieses Tutorials: Windows 7-System, PHP-Version 7.1, DELL G3-Computer

Vier Arten der Array-Schleifendurchquerung

1. Verwenden Sie die for-Schleife, um das Array zu durchlaufen

conut($arr);zum Zählen Anzahl der Array-Elemente.

Die for-Schleife kann nur zum Durchlaufen von reinen Index-Arrays verwendet werden! ! ! !

Wenn es ein assoziatives Array gibt, zählt count die Gesamtzahl der beiden Arrays und verwendet eine for-Schleife, um das gemischte Array zu durchlaufen, wodurch das Array außerhalb der Grenzen gerät! !

zB:

$arr = array(1,2,3,5,6,7);
$num = count($arr);        //count最好放到for外面,可以让函数只执行一次
echo "数组元素的个数{$num}<br/>";
for($i=0;$i<$num;$i++){
  echo "{$i}==>{$arr[$i]}<br/>";
 }
Nach dem Login kopieren

2. forEach-Schleife durchläuft das Array

foreach kann jede Art von Array durchlaufen! ! !
Beispiel:

$arr = array(1,2,3,"one"=>4,5,6,7);
foreach($arr as $value){
  echo "{$item}<br>";
 }
 foreach($arr as $key => $value){
  echo "{$key}==>{$item}<br>";
 }
Nach dem Login kopieren

Analysieren Sie beispielsweise das folgende Array:

$h51701 = array(
  "group1"=>array(
   array("name"=>"张三","age"=>14,"sex"=>"男"),
   array("name"=>"张三","age"=>14,"sex"=>"男"),
   array("name"=>"张三","age"=>14,"sex"=>"男")
  ),
  "group2"=>array(
   array("name"=>"张三","age"=>14,"sex"=>"男"),
   array("name"=>"张三","age"=>14,"sex"=>"男"),
   array("name"=>"张三","age"=>14,"sex"=>"男")
  ),
  "group3"=>array(
   array("name"=>"张三","age"=>14,"sex"=>"男"),
   array("name"=>"张三","age"=>14,"sex"=>"男"),
   array("name"=>"张三","age"=>14,"sex"=>"男")
  )
 );
 foreach ($h51701 as $key => $value) {
  echo "{$key}<br><br>";
  foreach ($value as $key1 => $value1) {
   echo "第".($key1+1)."个同学<br>";
   foreach ($value1 as $key2 => $value2) {
    echo "{$key2}==>{$value2}<br>";
   }
   echo "<br>";
  }
  echo "------------------------<br>";
 }
Nach dem Login kopieren

3. Verwenden Sie list(), every(), while(), um das Array zu durchlaufen.

(Schlüsselpunkte) list(): wird zum Hinzufügen verwendet jedes Element des Array-Werts, der jedem Parameter der Listenfunktion zugewiesen ist. (Die Parameter der Listenfunktion müssen kleiner oder gleich der Anzahl der Elemente im Array sein). Analysieren Sie das Array anhand leerer Parameter. Der Wert;

(Hervorhebung) every(): wird verwendet, um das Schlüssel-Wert-Paar zurückzugeben, an dem sich der aktuelle Zeiger des Arrays befindet! Und bewegen Sie den Zeiger um eine Ziffer zurück.

Rückgabewert: Wenn der Zeiger die nächste Ziffer hat, wird ein Array zurückgegeben. Enthält ein Indexarray (0-Schlüssel, 1-Wert) und ein assoziatives Array („Schlüssel“-Schlüssel, „Wert“-Wert); wenn der Zeiger nicht die nächste Ziffer hat, wird „false“ zurückgegeben Einmal mit every() durchlaufen, wird der Zeiger neben der letzten Ziffer verwendet; das heißt, wenn every() erneut verwendet wird, wird immer false zurückgegeben.

Wenn Sie ihn noch verwenden müssen, müssen Sie den Reset verwenden ($arr); Funktion, setzen Sie den Array-Zeiger zurück;

while(list($key,$value) = each($arr)){
 echo "{$key}-->{$value}<br>";  
}
reset($arr);
Nach dem Login kopieren
 $arr = array(1,2,3,"one"=>4,5,6,7);   
 foreach($arr as $value){
  echo "{$item}<br>";
 } foreach($arr as $key => $value){
  echo "{$key}==>{$item}<br>";
 }
Nach dem Login kopieren

4. Verwenden Sie den Array-Zeiger, um das Array zu durchlaufen. ① Als nächstes: Bewegen Sie den Array-Zeiger um ein Bit zurück. Und den Wert der nächsten Ziffer zurückgeben; es wird kein False zurückgegeben

② prev: Bewegt den Array-Zeiger um eine Ziffer nach vorne. Und den Wert der vorherigen Ziffer zurückgeben; wenn nicht „Falsch“ zurückgegeben wird

③ Ende: Verschieben Sie den Array-Zeiger auf die letzte Ziffer und geben Sie den Wert der letzten Ziffer zurück; bis zur ersten Ziffer Bit. Und gibt den ersten Wert zurück; ein leeres Array gibt false zurück

⑥ current: Gibt den Wert zurück, an dem sich der aktuelle Zeiger befindet;

 while(true){
   $a = each($arr);  if($a){
   echo "{$a[0]}-->{$a[1]}<br>";  
   echo "{$a[&#39;key&#39;]}-->{$a[&#39;value&#39;]}<br>";  
  }else{   break;
  }
}
Nach dem Login kopieren

Empfohlenes Lernen: „

PHP-Video-Tutorial

Das obige ist der detaillierte Inhalt vonWelche verschiedenen Möglichkeiten gibt es, Arrays in PHP zu durchlaufen?. 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