PHP For 루프
지정된 횟수만큼 또는 지정된 조건이 true인 경우 코드 블록을 반복합니다.
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>
출력:
숫자는 1
숫자는 2
숫자는 3
숫자는 4입니다
숫자는 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씩 증가하도록 하되, 배열 첨자의 최대값이 9이기 때문에 10보다 작아야 합니다.
foreach 루프
foreach 루프는 배열을 순회하는 데 사용됩니다.
구문
foreach($array를 $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
세
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 />'; } ?>
중국------중국
미국------미국
독일------독일
------------구분선---- - ------
후베이------후베이
허베이------허베이
산둥------산동
산시------산시
- ----------구분선------------
요약:
첫 번째 두 번째 루프에서는 배열이 $value에 할당된 다음 foreach를 사용하여 $value를 반복합니다. 2차원 하위 배열의 키를 $key에 제공하고 해당 값을 $v 변수에 할당합니다.
첫 번째 루프는 하위 배열의 루프를 종료하고 후속 코드가 실행되어 구분선을 표시합니다.
두 번째 주기에도 마찬가지입니다.