>백엔드 개발 >PHP 문제 >PHP에서 foreach의 사용법은 무엇입니까

PHP에서 foreach의 사용법은 무엇입니까

爱喝马黛茶的安东尼
爱喝马黛茶的安东尼원래의
2019-08-28 11:30:264326검색

PHP에서 foreach의 사용법은 무엇입니까

PHP 4에서는 Perl 및 기타 언어와 마찬가지로 foreach 구문이 도입되었습니다. 이는 배열을 반복하는 편리한 방법일 뿐입니다. foreach는 배열에만 사용할 수 있으며, 다른 데이터 유형이나 초기화되지 않은 변수와 함께 사용하려고 하면 오류가 발생합니다. 두 가지 구문이 있는데, 두 번째 구문은 덜 중요하지만 첫 번째 구문의 유용한 확장입니다.

foreach (array_expression as $value)
    statement
foreach (array_expression as $key => $value)
    statement

첫 번째 형식은 주어진 array_expression 배열을 반복합니다. 루프를 통과할 때마다 현재 셀의 값이 $value에 할당되고 배열 내부의 포인터가 한 단계 앞으로 이동합니다(따라서 다음 루프에서 다음 셀을 얻습니다).

두 번째 형식은 현재 장치의 키 이름이 각 루프의 $key 변수에도 할당된다는 점을 제외하면 동일한 작업을 수행합니다.

관련 권장 사항: "PHP 입문 튜토리얼"

먼저 첫 번째 명령문을 살펴보겠습니다. 이 명령문은 비교적 간단합니다. array_expression은 배열 표현식을 참조하며 배열의 값을 순차적으로 가져오고 저장합니다. $val 변수에서 이 메서드는 배열의 값만 가져올 수 있고 배열의 아래 첨자 인덱스 값은 가져올 수 없습니다. 예:

$myArray=array("1"=>"val1","2"=>"val2","3"=>"val3");
foreach($myArray as $val) {
     print($val." ");
}

결과는 다음과 같습니다. val1 val2 val3

두 번째 형식을 살펴보겠습니다. 첫 번째 형식처럼 배열의 요소 값을 가져오는 것 외에도 두 번째 형식도 인덱스 값을 가져올 수 있습니다. 를 $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=>val33

ff6d136ddc5fdfeffaf53ff6ee95f185 및 25edfb22a4f469ecb59f1190150159c6는 단색 점과 속이 빈 점을 표시하는 레이블입니다.

위는 2차원 배열이므로 1차 순회 후 얻은 $val 값이 배열이 되기 때문에 2차 배열 순회를 위한 순회에 판단을 추가했습니다.

위 내용은 PHP에서 foreach의 사용법은 무엇입니까의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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