PHP For 循环
循环执行代码块指定的次数,或者当指定的条件为真时循环执行代码块。
for 循环
语法
for (初始值; 条件; 增量)
{
要执行的代码;
}
参数:
• 初始值:是初始化赋值,可以同时赋值多个代码。
• 条件:在每次循环开始前求值。如果值为 TRUE,则继续循环,执行嵌套的循环语句。如果值为 FALSE,则终止循环。
• 增量:在每次循环之后被求值。
注释:上面的初始值和增量参数可为空,或者有多个表达式(用逗号分隔)。
实例
下面的实例定义一个初始值为 i=1 的循环。只要变量 i 小于或者等于 5,循环将继续运行。循环每运行一次,变量 i 就会递增 1:
<html>
<body>
<?php
for ($i=1; $i<=5; $i++)
{
echo "The number is" . $i . "<br>";
}
?>
</body>
</html>输出:
The number is 1
The number is 2
The number is 3
The number is 4
The number is 5
前面章节我们学习了数组,而for循环是一个单纯的计数型循环,而索引数组的下标为整型的数值。 因此,我们可以通过for循环来遍历索引数组。
<?php
//声明一个数组,值为1到10
$num = array(1,2,3,4,5,6,7,8,9,10);
//按照索引数组的特点,下标从0开始。所以1的下标为0,10的下标为9
echo $num[0].'<br />';
echo $num[9].'<br />';
//我们可以得到数组中元素的总个数,为10
echo count($num);
//遍历这个索引数组的话,我们就可以定义一个变量为$i
//$i 的值为0,从0开始
//可以设定一个循环条件为:$i 在下标的(9)最大值之内循环
for($i = 0; $i < count($num); $i++)
{
echo $num[$i].'<br />';
}
?>通过上面的例子,我们就把数组进行了循环。
因为下标是从0开始的,定义$i=0 。每次循环的时候让$i 加1 ,但是必须要小于10,因为数组下标的最大值为9。
foreach 循环
foreach 循环用于遍历数组。
语法
foreach ($array as $value)
{
要执行代码;
}
array 代表一个数组变量,在每次循环执行时,每个元素的值会被临时赋给变量 value, 要执行的代码 语句每次获取到的 value 的值都不一样。
另一种语法
foreach ($array as $key => $value)
{
要执行代码;
}
key 代表数组的下标,value 代表数组的值,那么对于数字下标数组来说,每次循环中 key 的值就是从0开始子增长的数字。
实例
下面的实例演示了一个输出给定数组的值的循环:
<html>
<body>
<?php
$x=array("one","two","three");
foreach ($x as $value)
{
echo $value . "<br>";
}
?>
</body>
</html>输出:
one
two
three
我们可以通过foreach遍历连续的索引数组
<html>
<body>
<?php
$cou = array(
0 => '中国',
100 => '美国',
20=> '韩国',
300 => '德国',
);
foreach($cou as $key => $value)
{
echo $key . '------' . $value .'<br/>';
}
?>
</body>
</html>输出:
0------中国
100------美国
20------韩国
300------德国
如果数组里面还有数组, 该怎么遍历循环呢?
<?php
$data = array(
0 => array(
'中国' => 'china',
'美国' => 'usa',
'德国' => ' Germany',
),
1 => array(
'湖北' => 'hubei',
'河北' => 'hebei',
'山东' => 'shandong',
'山西' => 'sanxi',
),
);
//注:我们在使用foreach循环时,第一次循环将键为0和键为1的两个数组赋值给一个变量($value)。
//然后,再套一个循环遍历这个$value变量,$value中的值取出来,赋值给$key和$v。
foreach($data as $value){
//第一次循环把国家的数组赋值给了$value
//第二次循环把中国的省份的数组又赋值给了$value
//因此,在循环的时候把$value再遍历一次
foreach($value as $key => $v)
{
echo $key . '-----' . $v .'<br />';
}
//为了看的更清晰,在中间加上华丽丽的分割线方便你来分析
echo '----------分割线-----------<br />';
}
?>
输出:
中国-----china
美国-----usa
德国----- Germany
----------分割线-----------
湖北-----hubei
河北-----hebei
山东-----shandong
山西-----sanxi
----------分割线-----------
总结:
第一次循环的时候,将数组赋值给了$value,然后用foreach循环$value。将二维的子数组中的键给到$key,值赋值给变量$v。
第一次循环退出子数组的循环,执行后续代码显示分割线。
依此类推,第二次循环也是这样。

check
这个是用来循环数组的,明白了!
8年前 添加回复 0