foreach()에는 두 가지 용도가 있습니다.
1:
foreach(array_name as $value){ statement; }
여기서 array_name은 순회하려는 배열의 이름입니다. 각 루프에서 array_name 배열의 현재 요소 값이 $value에 할당됩니다. 그리고 배열 내부의 값 아래 첨자는 한 단계 아래로 이동합니다. 즉, 다음 루프가 다음 요소로 돌아갑니다.
2:
foreach(array_name as $key => $value){ statement; }
이 방법과 첫 번째 방법의 차이점은 추가 $key가 있다는 것입니다. 즉, 현재 요소의 값을 $value에 할당하는 것 외에도 현재 요소의 키 값이 변수 $key에도 할당됩니다. 키 값은 아래 첨자 값 또는 string일 수 있습니다. 예를 들어 book[0]=1의 "0", book[id]="001"의 "id"입니다.
첫 번째 형식과 동일하다는 점 외에 두 번째 형식도 살펴보겠습니다. 두 번째 형식 배열의 요소 값을 가져오는 것 외에도 요소의 index 값을 가져와 $key 변수에 저장할 수도 있습니다. 배열의 인덱스 값을 수동으로 설정하지 않은 경우
긍정적인 예를 참조하세요.
먼저 간단한 1차원 배열을 살펴보겠습니다.
$myArray=array("1"=>"val1","2"="val2","3"=>"val3"); foreach ($myArray as $key=>$val) { print($key."=>".$val.";"); }
프로그램은 다음을 출력합니다. 1=>val1;2=>val2 ;3=>val3;, 그러면 좀 더 복잡한 것을 살펴보겠습니다. 2차원 배열을 탐색하고 프로그램은 다음과 같습니다.
$myArray=array( "1"=>array("11"=>"val11","12"=>"val12","13"=>"val13"), "2"=>array("21"=>"val21","22"=>"val22","23"=>"val23"), "3"=>array("31"=>"val31","32"=>"val32","33"=>"val33") ); print("<ul>"); foreach( $myArray as $key=>$val) { print("<li>".$key."</li>"); if (is_array($val)) { //判断$val的值是否是一个数组,如果是,则进入下层遍历 print("<ul>"); foreach ($val as $key=>$val) { print("<li>".$key."=>".$val."</li>"); } print("</ul>"); } } print("</ul>");
출력 결과:
1
11=>val11
12=>val12
13=> ;val13
2
21=>val21
22=>val22
23=>val23
3
31=>val31
32=>val32
33=>val3 3
위 내용은 PHP foreach의 두 가지 사용 예에 대한 자세한 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!