Résumé de plusieurs utilisations des tableaux traversants php

伊谢尔伦
Libérer: 2023-03-13 08:44:02
original
991 Les gens l'ont consulté

Les éléments les plus flexibles en PHP sont les tableaux. De nombreuses données sont affichées sous forme de tableaux. Voici les méthodes de traversement de tableaux, que vous pouvez choisir en fonction de vos besoins.

Aujourd'hui, une amie m'a posé une question sur les méthodes phptraversing array, et je lui en ai posé quelques-unes. D'ailleurs, j'écrirai un article pour résumer. Si le résumé n'est pas complet, veuillez le signaler

D'abord, foreach()
.

foreach() est la méthode la plus simple et la plus efficace pour parcourir des données dans un tableau.

<?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 />"; 
    } 
?>
Copier après la connexion

Afficher les résultats :

This Site url is aaa 
This Site url is bbb 
This Site url is ccc 
This Site url is ddd
Copier après la connexion
Copier après la connexion
Copier après la connexion

Deuxièmement, while() est utilisé en conjonction avec list() et each().

<?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 />"; 
    } 
?>
Copier après la connexion

Afficher le résultat :

This Site url is aaa 
This Site url is bbb 
This Site url is ccc 
This Site url is ddd
Copier après la connexion
Copier après la connexion
Copier après la connexion

Troisièmement, for() utilise for pour parcourir le tableau

<?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 />"; 
    } 
?>
Copier après la connexion

Afficher le résultat :

This Site url is aaa 
This Site url is bbb 
This Site url is ccc 
This Site url is ddd
Copier après la connexion
Copier après la connexion
Copier après la connexion

Parfois, certaines personnes demandent également laquelle de ces méthodes de parcours d'un tableau est la plus rapide. Faisons un test simple et vous comprendrez
======== =. == Testons les trois vitesses de parcours des tableaux ===========
Généralement, il existe trois méthodes pour parcourir un tableau, for, while et foreach. Le plus simple et le plus pratique d'entre eux est foreach. Testons d'abord le temps qu'il faut pour parcourir un tableau unidimensionnel avec 50 000 indices.

<?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;; 
  ?>
Copier après la connexion

Résultats des tests :

Used time of for:0.0228429(s) 
Used time of while:0.0544658(s) 
Used time of foreach:0.0085628(s)
Copier après la connexion

Après des tests répétés, les résultats montrent que pour parcourir le même tableau, foreach est le plus rapide et le plus lent est while. D'un point de vue principe, foreach opère sur une copie du tableau (en copiant le tableau), tandis que while opère en déplaçant l'index interne du tableau. De manière générale, on pense que while devrait être plus rapide que foreach (car foreach). déplace d'abord le tableau lorsqu'il commence à s'exécuter, tandis que while déplace directement le pointeur interne), mais le résultat est tout le contraire. La raison devrait être que foreach est une implémentation interne de PHP, tandis que while est une structure de boucle générale. Par conséquent, dans les applications générales, foreach est simple et efficace. Sous PHP5, foreach peut également parcourir les attributs d'une classe.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!