Heim  >  Artikel  >  Backend-Entwicklung  >  Beschreiben Sie kurz die Methode zum Durchlaufen eines Arrays in PHP

Beschreiben Sie kurz die Methode zum Durchlaufen eines Arrays in PHP

墨辰丷
墨辰丷Original
2018-06-11 11:28:552166Durchsuche

Die flexibelsten Dinge in PHP sind Arrays. Hier sind die Array-Traversal-Methoden, die Sie je nach Bedarf auswählen können.

Heute hat mir eine Freundin eine Frage zum Durchlaufen von Arrays in PHP gestellt, und ich habe ihr einige davon erzählt. Übrigens werde ich einen Artikel zur Zusammenfassung schreiben. Bitte weisen Sie darauf hin

Foreach()

foreach(). ist eine Methode zum Durchlaufen der Daten in einem Array. Die einfachste und effektivste Methode.

<?php 
    $urls= array(&#39;aaa&#39;,&#39;bbb&#39;,&#39;ccc&#39;,&#39;ddd&#39;); 
    foreach ($urls as $url){ 
      echo "This Site url is $url! <br />"; 
    } 
?>

Ergebnisse anzeigen:

This Site url is aaa 
This Site url is bbb 
This Site url is ccc 
This Site url is ddd

Zweitens wird while() in Verbindung mit list() und every() verwendet.

<?php 
    $urls= array(&#39;aaa&#39;,&#39;bbb&#39;,&#39;ccc&#39;,&#39;ddd&#39;); 
    while(list($key,$val)= each($urls)) { 
      echo "This Site url is $val.<br />"; 
    } 
?>

Ergebnis anzeigen:

This Site url is aaa 
This Site url is bbb 
This Site url is ccc 
This Site url is ddd

Drittens verwendet for() for zum Durchlaufen des Arrays

<?php 
    $urls= array(&#39;aaa&#39;,&#39;bbb&#39;,&#39;ccc&#39;,&#39;ddd&#39;); 
    for ($i= 0;$i< count($urls); $i++){ 
      $str= $urls[$i]; 
      echo "This Site url is $str.<br />"; 
    } 
?>

Ergebnis anzeigen:

This Site url is aaa 
This Site url is bbb 
This Site url is ccc 
This Site url is ddd

Manchmal fragen sich die Leute auch, welche dieser Methoden zum Durchlaufen eines Arrays schneller ist zum Durchlaufen von Arrays ===========
Im Allgemeinen gibt es drei Methoden zum Durchlaufen eines Arrays: for, while und foreach. Die einfachste und bequemste davon ist foreach. Testen wir zunächst die Zeit, die zum Durchlaufen eines eindimensionalen Arrays mit 50.000 Indizes benötigt wird.

<?php 
  $arr= array(); 
  for($i= 0; $i< 50000; $i++){ 
  $arr[]= $i*rand(1000,9999); 
  } 
  function GetRunTime() 
  { 
  list($usec,$sec)=explode(" ",microtime()); 
  return ((float)$usec+(float)$sec); 
  } 
  ###################################### 
  $time_start= GetRunTime(); 
  for($i= 0; $i< count($arr); $i++){ 
  $str= $arr[$i]; 
  } 
  $time_end= GetRunTime(); 
  $time_used= $time_end- $time_start; 
  echo &#39;Used time of for:&#39;.round($time_used, 7).&#39;(s)<br /><br />&#39;; 
  unset($str, $time_start, $time_end, $time_used); 
  ###################################### 
  $time_start= GetRunTime(); 
  while(list($key, $val)= each($arr)){ 
  $str= $val; 
  } 
  $time_end= GetRunTime(); 
  $time_used= $time_end- $time_start; 
  echo &#39;Used time of while:&#39;.round($time_used, 7).&#39;(s)<br /><br />&#39;; 
  unset($str, $key, $val, $time_start, $time_end, $time_used); 
  ###################################### 
  $time_start= GetRunTime(); 
  foreach($arr as$key=> $val){ 
  $str= $val; 
  } 
  $time_end= GetRunTime(); 
  $time_used= $time_end- $time_start; 
  echo &#39;Used time of foreach:&#39;.round($time_used, 7).&#39;(s)<br /><br />&#39;; 
  ?>

Testergebnisse:

Used time of for:0.0228429(s) 
Used time of while:0.0544658(s) 
Used time of foreach:0.0085628(s)

Nach wiederholten Tests zeigen die Ergebnisse, dass für das Durchlaufen desselben Arrays foreach am schnellsten und while am langsamsten ist. Im Prinzip bearbeitet foreach eine Kopie des Arrays (durch Kopieren des Arrays), während while durch Verschieben des internen Indexes des Arrays arbeitet. Im Allgemeinen geht man davon aus, dass while schneller sein sollte als foreach (da foreach zuerst das Array verschiebt). wenn die Ausführung beginnt, während while den internen Zeiger direkt bewegt), aber das Ergebnis ist genau das Gegenteil. Der Grund dürfte sein, dass foreach eine interne Implementierung von PHP ist, während while eine allgemeine Schleifenstruktur ist. Daher ist foreach in allgemeinen Anwendungen einfach und effizient. Unter PHP5 kann foreach auch die Attribute einer Klasse durchlaufen.

Zusammenfassung: Das Obige ist der gesamte Inhalt dieses Artikels, ich hoffe, dass er für das Studium aller hilfreich sein wird.

Verwandte Empfehlungen:

Gemeinsame PHP-Ausnahmebehandlungsmethoden

Zwei Methoden der PHP-Array-Fusion

PHP WeChat-Schnittstelle implementiert QR-Code-Generierungsklasse

Das obige ist der detaillierte Inhalt vonBeschreiben Sie kurz die Methode zum Durchlaufen eines Arrays in PHP. 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
Vorheriger Artikel:Der native Paging-Code von PHPNächster Artikel:Der native Paging-Code von PHP