트래버스 배열
숫자 배열 순회
배열의 모든 요소를 순회하는 것은 일반적인 작업이며 순회 프로세스 중에 쿼리 또는 기타 기능이 완료될 수 있습니다.
<1> 배열을 순회하려면 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보다 작아야 합니다.
이런 방식으로 인덱스된 연속 첨자 배열을 순회하는 방법을 배웠습니다.
<2> foreach 구조를 사용하여 배열을 탐색합니다.
for 루프는 연속된 첨자의 인덱스 배열을 탐색할 수 있습니다. 그러나 우리는 연관 배열을 순회할 수 없으며, 불연속적인 첨자가 있는 인덱스 배열도 순회할 수 없다는 것을 발견했습니다.
음, 루프에 대해 배울 때 배열을 반복하는 데 특별히 사용되는 부울 루프가 있었습니다. 이 루프의 기본 구문은 foreach의 기본 구문입니다.
구문 형식은 다음과 같습니다.
foreach([키 변수=>] 값 변수로 반복될 배열 변수){
//루프 구조
}
연속 배열 트래버스
<?php $data = [ 'fj' => '凤姐', 'fr' => '芙蓉', ]; foreach($data as $key => $value){ echo $key . '-------' . $value . '<br />'; } //如果我们只想读取值的话,就可以把下面的$key => 给删除掉,读取的时候,就只读取值了。做完上面的实验,你可以打开下面的代码再实验几次。 /* foreach($data as $value){ echo $value . '<br />'; } */ ?>
인덱스 배열 트래버스
연속 트래버스 가능 다음 예와 같이 foreach 인덱스 배열을 통해:
<?php $data = array( 0 => '中国', 100 => '美国', 20 => '韩国', 300 => '德国', ); //待会儿可以自己做做实验,循环遍历一下下面的这个数组 //$data = array(1,2,3,4,5,6,7,8,9,10); foreach($data as $k => $v){ echo $k . '------' . $v .'<br />'; } ?>
다차원 배열 탐색
<?php $data = array( 0 => array( '中国' => 'china', '美国' => 'usa', '德国' => ' Germany', ), 1 => array( '湖北' => 'hubei', '河北' => 'hebei', '山东' => 'shandong', '山西' => 'sanxi', ), ); //注:我们在使用foreach循环时,第一次循环将键为0和键为1的两个数组赋值给一个变量($value)。然后,再套一个循环遍历这个$value变量,$value中的值取出来,赋值给$k和$v。 foreach($data as $value){ //第一次循环把国家的数组赋值给了$value //第二次循环把中国的省份的数组又赋值给了$value //因此,我在循环的时候把$value再遍历一次 foreach($value as $k => $v){ echo $k . '-----' . $v .'<br />'; } //为了看的更清晰,我在中间加上华丽丽的分割线方便你来分析 echo '----------分割线-----------<br />'; } ?>
요약:
1. 루프에서 주어진 $value 배열을 할당한 다음 foreach를 사용하여 $value를 반복합니다. 2차원 하위 배열의 키를 $k에 제공하고 값을 변수 $v에 할당합니다.
2. 첫 번째 루프는 하위 배열 루프를 종료하고 후속 코드가 실행되어 구분선을 표시합니다.
3. 2주기도 마찬가지다.