Maison >développement back-end >tutoriel php >Discutez du problème sujet aux erreurs du tableau de sortie de boucle for en PHP

Discutez du problème sujet aux erreurs du tableau de sortie de boucle for en PHP

PHPz
PHPzoriginal
2023-04-18 14:06:281004parcourir

En PHP, la boucle for est une structure de boucle couramment utilisée, qui peut facilement parcourir tous les éléments d'un tableau et effectuer des opérations. Cependant, lorsque nous utilisons une boucle for pour générer un tableau, il existe de nombreux domaines sujets aux erreurs auxquels il faut prêter attention. Dans cet article, nous explorerons en détail ces points sujets aux erreurs et proposerons les solutions correspondantes.

  1. Les indices des tableaux commencent à 0

En PHP, les indices des tableaux commencent à 0, c'est-à-dire que l'indice du premier élément du tableau est 0, et l'indice du deuxième élément est 1, et ainsi de suite . Par conséquent, lorsque nous utilisons une boucle for pour générer un tableau, nous devons commencer le parcours à partir du premier élément du tableau, c'est-à-dire à partir de l'élément d'index 0.

Par exemple, il existe un tableau $colors, qui contient trois éléments, à savoir le rouge, le vert et le bleu. Lorsque nous utilisons une boucle for pour générer le tableau, nous devons écrire comme ceci :

$colors = array("红色", "绿色", "蓝色");
for ($i = 0; $i < count($colors); $i++) {
    echo $colors[$i] . "<br>";
}

Si nous commençons à parcourir à partir de l'élément d'index 1, le premier élément sera manqué et le résultat de sortie sera incorrect.

  1. La fonctioncount() obtient la longueur du tableau

Lors de l'utilisation d'une boucle for pour générer un tableau, nous avons souvent besoin de connaître la longueur du tableau afin de définir la condition de fin de la boucle. En PHP, vous pouvez utiliser la fonction count() pour obtenir la longueur du tableau, par exemple :

$colors = array("红色", "绿色", "蓝色");
$len = count($colors); // $len的值为3
for ($i = 0; $i < $len; $i++) {
    echo $colors[$i] . "<br>";
}

Il est à noter que la fonction count() récupère la longueur du tableau, c'est-à-dire le nombre d'éléments dans le tableau, et non la valeur standard inférieure maximale. Par conséquent, lors de l'utilisation d'une boucle for, la condition de terminaison doit utiliser le signe inférieur à (<) au lieu du signe inférieur ou égal (<=), sinon une erreur hors limites se produira.

  1. Nom des variables de boucle

Les variables de boucle jouent un rôle très important dans la boucle for, qui détermine le nombre de boucles et les éléments traités dans chaque boucle. Par conséquent, lorsque vous nommez une variable de boucle, vous devez éviter de la nommer avec le même nom qu'un élément du tableau, sinon la variable sera écrasée et des erreurs imprévisibles se produiront.

Par exemple, il existe un tableau $numbers, qui contient les nombres 1 à 3. Lorsque nous utilisons une boucle for pour générer le tableau, nous devrions écrire comme ceci :

$numbers = array(1, 2, 3);
for ($i = 0; $i < count($numbers); $i++) {
    echo $numbers[$i] . "<br>";
}</p>
<p>Si nous nommons la variable de boucle $number, elle aura le même nom que l'élément $numbers dans le tableau, ce qui entraînera l'écrasement de $number dans la boucle et la sortie Le résultat est incorrect. </p>
<ol start="4"><li>La différence entre les tableaux indexés et les tableaux associatifs</li></ol>
<p>En PHP, les tableaux peuvent être divisés en deux types : les tableaux indexés et les tableaux associatifs. Les indices des éléments du tableau d'index sont des nombres croissants à partir de 0 tandis que les indices des éléments du tableau associatif sont des chaînes, qui peuvent être n'importe quels caractères. Lorsque nous utilisons une boucle for pour générer un tableau, nous devons faire attention au type du tableau et utiliser la méthode correspondante pour parcourir. </p>
<p>Par exemple, il existe un tableau d'index $numbers et un tableau associatif $person, qui contiennent respectivement des éléments de type numérique et chaîne. Lorsque nous utilisons une boucle for pour générer ces deux tableaux, nous devrions écrire comme ceci : </p>
<pre class="brush:php;toolbar:false">$numbers = array(1, 2, 3);
for ($i = 0; $i < count($numbers); $i++) {
    echo $numbers[$i] . "<br>";
}

$person = array("name" => "小明", "age" => 18, "gender" => "男");
foreach ($person as $key => $value) {
    echo $key . ": " . $value . "<br>";
}

Il convient de noter que lors du parcours du tableau associatif, nous utilisons une boucle foreach au lieu d'une boucle for, et la variable de boucle doit contenir le clés des éléments du tableau en même temps et valeur.

  1. Évitez de modifier le tableau dans le corps de la boucle

Lors de l'utilisation d'une boucle for pour générer un tableau, il est souvent nécessaire d'effectuer des opérations connexes sur les éléments du tableau, telles que l'obtention des valeurs des éléments, la modification des valeurs des éléments, etc. Lors de la modification du tableau, nous devons faire attention à ne pas modifier le tableau dans le corps de la boucle, sinon des erreurs imprévisibles pourraient se produire.

Par exemple, il existe un tableau $numbers, qui contient les nombres 1 à 5. En parcourant ce tableau, nous souhaitons doubler tous les éléments du tableau. Nous devrions écrire comme ceci :

$numbers = array(1, 2, 3, 4, 5);
for ($i = 0; $i < count($numbers); $i++) {
    $numbers[$i] *= 2;
    echo $numbers[$i] . "<br>";
}

Si nous mettons l'opération de modification du tableau après l'instruction echo, les valeurs des éléments du tableau seront incorrectes.

Résumé

En PHP, la boucle for est une structure de boucle couramment utilisée, qui peut facilement parcourir tous les éléments d'un tableau et effectuer des opérations. Lorsque vous utilisez une boucle for pour générer un tableau, vous devez faire attention à l'indice du tableau commençant à 0, en utilisant la fonction count() pour obtenir la longueur du tableau, en nommant les variables de la boucle, la différence entre les tableaux d'index et les tableaux associatifs, et éviter les erreurs telles que la modification du tableau dans le corps de la boucle. Ce n'est qu'en prêtant attention à ces détails que l'exactitude et la stabilité du programme peuvent être assurées.

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!

Déclaration:
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