Traversée de tableau PHP pour chaque structure de syntaxe et exemples

高洛峰
Libérer: 2023-03-04 15:02:01
original
1646 Les gens l'ont consulté

foreach()

La structure syntaxique PHP foreach() est utilisée pour parcourir des opérations ou des tableaux de sortie. foreach() ne peut être utilisée que pour parcourir des tableaux ou des objets lorsque vous essayez de l'utiliser pour d'autres types de données ou. une inconnue Une erreur se produit lors de l'initialisation des variables.

Syntaxe :

foreach (array as $value)
  statement
// 或者:
foreach (array as $key => $value)
 
statement
Copier après la connexion

Dans la syntaxe ci-dessus, chaque boucle attribue la valeur de l'unité actuelle à $value et le pointeur à l'intérieur le tableau Avancez d’un pas. Dans le deuxième format de syntaxe, le nom de clé de l'unité actuelle est également attribué à la variable $key dans chaque boucle.

Exemple :

<?php
$arr_age = array("wang"=>18, "li"=>20, "zhang"=>25);
foreach ($arr_age as $age) {
  echo $age,&#39;<br />&#39;;
}
?>
Copier après la connexion

Exécutez cet exemple de sortie :

18
20
25
Copier après la connexion

Utiliser la valeur de la clé du tableau

<?php
$arr_age = array("wang"=>18, "li"=>20, "zhang"=>25);
foreach ($arr_age as $key=>$age) {
  echo $key,&#39;: &#39;,$age,&#39;<br />&#39;;
}
?>
Copier après la connexion

Exécuter l'exemple de sortie :

wang: 18
li: 20
zhang: 25
Copier après la connexion

Lorsque foreach commence à s'exécuter, le pointeur à l'intérieur du tableau pointe automatiquement vers la première unité, ce qui signifie qu'il n'est pas nécessaire d'appeler reset() avant la boucle foreach.

foreach opère sur une copie du tableau spécifié, pas sur le tableau lui-même. Les modifications apportées aux éléments du tableau renvoyés n'affecteront pas le tableau d'origine (voir exemple ci-dessous), mais lorsque la boucle foreach arrive à la fin, le pointeur interne du tableau d'origine pointe vers la fin du tableau.

<?php
$arr_age = array("wang"=>18, "li"=>20, "zhang"=>25);
foreach ($arr_age as $age) {
  $age = $age+10;
  echo $age,&#39;<br />&#39;;
}
// 输出原数组
print_r($arr_age);
?>
Copier après la connexion

Résultat de l'exécution de l'exemple :

28
30
35
Array ( [wang] => 18 [li] => 20 [zhang] => 25 )
Copier après la connexion

à être in foreach La modification des éléments du tableau d'origine peut être réalisée en utilisant des références. Remplacez l'exemple ci-dessus par :

<?php
$arr_age = array("wang"=>18, "li"=>20, "zhang"=>25);
foreach ($arr_age as &$age) {
  $age = $age+10;
  echo $age,&#39;<br />&#39;;
}
// 输出原数组
print_r($arr_age);
?>
Copier après la connexion

Sortie de l'exécution de l'exemple :

18
20
25
 
Array ( [wang] => 28 [li] => 30 [zhang] => 35 )
Copier après la connexion

Parcourir des tableaux multidimensionnels

La structure syntaxique foreach ne peut être utilisée que pour parcourir des tableaux unidimensionnels. Pour parcourir des tableaux multidimensionnels, utilisez généralement la récursion imbriquée foreach. ou divisez le tableau d'origine en tableaux unidimensionnels. Le tableau est ensuite parcouru par foreach.

Exemple de mélange de tableaux à une et deux dimensions :

<?php
$arr_age = array("wang"=>18, "li"=>20, "zhang"=>array("name"=>"小张", "age"=>25));
foreach ($arr_age as $age) {
  if(is_array($age)){
    foreach ( $age as $detail) {
    echo $detail,&#39;<br />&#39;;
    }
  } else {
    echo $age,&#39;<br />&#39;;
  }
}
?>
Copier après la connexion

Le parcours de tableaux multidimensionnels nécessite la méthode de traitement la plus appropriée en fonction de la structure réelle des données.

Les tableaux PHP sont implémentés via des tables HashTable, donc foreach parcourt le tableau en fonction de l'ordre dans lequel les éléments sont ajoutés. Si vous souhaitez parcourir par taille d'index, vous devez utiliser une boucle for().

boucle for() pour parcourir le tableau

Si vous utilisez un tableau de valeurs clés continues, vous pouvez également utiliser la boucle for() pour parcourir le tableau :

<?php
$arr_age = array(18, 20, 25);
$num = count($arr_age);
for($i = 0; $i < $num; $i++){
  echo $arr_age[$i]."<br />";
}
?>
Copier après la connexion

Vous pouvez également utiliser list() et each() pour parcourir le tableau, mais les tests ont révélé que l'efficacité

n'est pas aussi bonne que foreach().

La structure syntaxique et les exemples de parcours de tableau PHP ci-dessus sont tout le contenu partagé par l'éditeur. J'espère qu'il pourra vous donner une référence, et j'espère également que vous accorderez plus d'attention au chinois PHP. site web.

Pour plus d'articles sur la traversée de tableaux PHP pour chaque structure syntaxique et des exemples, veuillez faire attention au site Web PHP 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!