>  기사  >  백엔드 개발  >  PHP foreach의 두 가지 사용 예에 ​​대한 자세한 설명

PHP foreach의 두 가지 사용 예에 ​​대한 자세한 설명

伊谢尔伦
伊谢尔伦원래의
2017-06-23 14:32:061039검색

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

12784d8ff4ede7ade2c3e39821b5ada4는 단색 점과 속이 빈 점을 표시하는 데 사용되는 레이블입니다.
위는 2차원 배열이므로 첫 번째 순회 후 얻은 $val 값이 배열이 되기 때문에 2차 배열 순회를 위한 순회에 판단을 추가했습니다.

위 내용은 PHP foreach의 두 가지 사용 예에 ​​대한 자세한 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.