Un tableau est une structure de données très basique et importante. Après avoir créé un tableau, nous devons le faire fonctionner et l'une des opérations les plus courantes sur les tableaux est le parcours de boucle. PHP prend en charge plusieurs méthodes de parcours de tableaux. Aujourd'hui, nous allons apprendre à utiliser les instructions de boucle pour parcourir des tableaux. !
Dans l'article précédent "PHP Loop Learning 2 : Comment utiliser les instructions de boucle do-while", nous avons appris l'utilisation des instructions de boucle do-while. Dans cet article, nous vous amènerons à comprendre l'instruction de boucle for. Un exemple de code pour présenter comment utiliser une instruction de boucle for pour parcourir un tableau.
1. Analyse structurelle de l'instruction de boucle for
La boucle for prédéfinira les variables qui contrôlent le nombre de boucles dans l'instruction for, afin que l'instruction de boucle for puisse effectuer des opérations de boucle en fonction du nombre connu de boucles, ce qui convient pour une situation claire dans laquelle vous savez combien de fois le script doit être exécuté. Le format syntaxique de la boucle
for est le suivant :
for (初始化语句; 循环条件; 变量更新--自增或自减) { 语句块; }
L'instruction de la boucle for peut être décomposée en 4 parties : les trois expressions dans ()
et {}< /code > "Bloc d'instructions", analysons-le ci-dessous. <code>()
号中的三个表达式和{}
中的“语句块”,下面我们来分析一下。
语句解析:
初始化语句(表达式1):主要是初始化一个变量值,用于设置一个计数器,即循环开始的值;该语句仅在第一次循环时执行,以后都不会再执行。
循环条件(表达式2):循环执行的限制条件,用于控制是否执行循环体中的代码;如果条件为TRUE,则循环继续,如果条件为FALSE ,则循环结束,立即退出循环。
变量更新(表达式3):一个带有自增或自减操作的表达式,循环每执行一次,马上修改计数器的值,以使循环条件逐渐变得“不成立”。
语句块:条件判断为真时,需要执行的若干代码。
上面的描述是不是有点绕,我们来看看for循环语句的执行流程图,可以更直观的了解for循环的执行过程:
了解了for循环的执行过程,接下来我们来实际操作,做一个小题,来看看有没有掌握吧!
训练题:
计算从1加到100的和
<?php $sum=0; for($i=1; $i<=100; $i++){ $sum+=$i; } echo '1 + 2 + 3 +...+ 99 + 100 = '. $sum; ?>
输出:
1 + 2 + 3 +...+ 99 + 100 = 5050
我们变一下,既然可以求1加到100的和,也可以求1乘到100的乘积(100 的阶乘)
<?php $sum=1; for($i=1; $i<=100; $i++){ $sum*=$i; } echo '1 * 2 * 3 *...* 99 * 100 = '. $sum; ?>
输出:
1 * 2 * 3 *...* 99 * 100 = 9.3326215443944E+157
注:因为0乘以什么都是0,所以这里$sum
变量的初始值就不能为0,而是1了。
二、for循环语句遍历数组
下面我们先通过代码示例来具体看看如何遍历,然后通过分析代码来详细了解。
<?php header("Content-type:text/html;charset=utf-8"); $array= array("香蕉","苹果","梨子","橙子","橘子","榴莲"); for ($i=0; $i < count($array); $i++) { echo $array[$i] . "<br/>"; } ?>
输出:
香蕉 苹果 梨子 橙子 橘子 榴莲
代码分析:
初始化语句为$i=0
:示例的数组是一个索引数组,数组的下标默认从0开始,因此循环开始的值要为0。
循环条件$i <count>:count()函数用于计算数组长度,则循环条件为<code>$i ,因为当<code>$i = 数组长度
时,$i
已经超出了索引范围(索引范围是0
~ 数组长度-1
)。
变量更新$i++
:每次循环后,变量$i
自动增加1,直到$i = 数组长度
时,因为$i超出了索引范围,以使循环条件不成立,然后退出循环。
echo $array[$i] . "<br>"
:每循环一次,就根据$i值--数组下标
Condition de boucle (expression 2) : condition de restriction d'exécution de la boucle, utilisée pour contrôler s'il faut exécuter le code dans le corps de la boucle ; si la condition est VRAIE, la boucle continue, si la condition est FAUX, la boucle ; se termine immédiatement Quitter la boucle.
$sum
ici ne peut pas être 0, mais 1 . $i = 0
: Le tableau dans l'exemple est un tableau d'index. L'indice du tableau commence à 0 par défaut, donc la valeur au début de la boucle doit être 0. 🎜🎜$i <count> : La fonction count() est utilisée pour calculer la longueur du tableau, alors la condition de boucle est <code>$i code>, car lorsque <code>$i = array length
, $i
a dépassé la plage d'index (la plage d'index est 0 ~ <code>longueur du tableau-1
). 🎜🎜$i++
: Après chaque boucle, la variable $i
augmente automatiquement de 1 jusqu'à ce que $i = longueur du tableau
Lorsque, parce que $i dépasse la plage d'index, la condition de boucle n'est pas établie, puis la boucle se termine. 🎜🎜echo $array[$i] '<br>"
: chaque fois qu'il boucle, il sera basé sur la valeur $i --array. indice
, pour afficher les éléments du tableau. 🎜🎜🎜🎜Remarque : L'utilisation d'une boucle for pour parcourir un tableau ne modifiera pas le pointeur interne du tableau. 🎜🎜🎜Recommandé : 🎜"🎜Collection de questions d'entretien PHP (collection)🎜" "🎜Tutoriel vidéo PHP🎜"🎜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!