PHP에서 foreach()를 사용하는 방법

墨辰丷
풀어 주다: 2023-03-31 07:12:01
원래의
11724명이 탐색했습니다.

이 글은 주로 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은 배열 표현식을 참조하여 순차적으로 값을 얻습니다. 이 방법은 배열의 값만 가져올 수 있고 배열의 첨자 인덱스 값은 가져올 수 없습니다.

예:

$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
로그인 후 복사

  • 는 단색 점과 속이 빈 점을 표시하는 데 사용되는 레이블입니다.

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

    퍼즐을 푸는 또 다른 예

    <?php
    $a = array("1"=>"语文","2"=>"数学","3"=>"英语");
    $b = array("1"=>"95","2"=>"99","3"=>"92");
    foreach($a as $key=>$value){
      echo $value;
    echo $b[$key]."<br>";
    }
    ?>
    로그인 후 복사

    질문은 왜 $b[$value] 대신 $b[$key]를 사용하여 $b 배열의 값을 출력하는가입니다.

    이게 왜죠?

    $a = array("1"=>"语文","2"=>"数学","3"=>"英语");上面这个和下面这个是完全一样的
    $a[1]="语文";$a[2]="数学"$a[3]=“英语”
    로그인 후 복사

    위 배열을 어떻게 출력하나요?

    echo $a[1];

    이겠죠?

    의심할 여지가 없다면 계속하세요! ! ! !

    ---------------

    단순히 foreach라고 말하세요

    형식은 다음과 같습니다. foreach(배열 이름을 아래 첨자로 => value)

    아래첨자는 위의 $a[1]이고, 여기서 1은 배열의 아래첨자입니다!

    이제 $a[$key]가 이렇게 출력되는 이유를 이해해야 합니다.

    어떻게 변경되더라도 배열의 출력 방법은 $a['중국어'가 아니라 항상 $a[1]이 된다는 점을 기억하세요. ]

    ============================================= === ===============

    foreach()에는 두 가지 용도가 있습니다.

    1: foreach(array_name as $value){
        statement;
      }
    로그인 후 복사

    여기서 array_name은 각 루프에서 탐색하려는 배열의 이름입니다. , array_name 배열 현재 요소의 값이 $value에 할당되고 배열 내부의 첨자가 한 단계 아래로 이동합니다. 즉, 다음 루프에서 다음 요소가 반환됩니다.

    2:foreach(array_name as $key => $value){    
        statement;  
     }
    로그인 후 복사

    이 방법과 첫 번째 방법의 차이점은 추가 $key가 있다는 것입니다. 즉, 현재 요소의 값을 $value에 할당하는 것 외에도 현재 요소의 키 값도 $value에 할당됩니다. 각 루프의 변수 $key. 키 값은 아래 첨자 값 또는 문자열일 수 있습니다.

    예: book[0]=1의 "0", book[id]="001"의 "id".

    권장 관련 기사:
    1.PHP foreach를 $key =로 사용하는 두 가지 용도 >$값
    2.foreach 문 루프 배열 사용법에 대한 심층적인 이해
    관련 동영상 추천:
    1.Dugu Jiujian (4)_PHP 동영상 튜토리얼

    관련 추천:

    php 기반 쿠키 스키닝 방법

    mysql에서 php

    문자열 연산을 위한 PHP 방법

    에 구현된 추가, 삭제, 수정 및 쿼리 기능

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

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿