>백엔드 개발 >PHP 튜토리얼 >PHP foreach 사용법 및 예

PHP foreach 사용법 및 예

WBOY
WBOY원래의
2016-08-08 09:23:21850검색

원본 URL:
http://blog.csdn.net/china_skag/article/details/6444727
PHP 4에서는 Perl 및 기타 언어와 매우 유사한 foreach 구조가 도입되었습니다. 이는 배열을 반복하는 편리한 방법일 뿐입니다. foreach는 배열에만 사용할 수 있으며, 다른 데이터 유형이나 초기화되지 않은 변수와 함께 사용하려고 하면 오류가 발생합니다. 두 가지 구문이 있는데, 두 번째 구문은 덜 중요하지만 첫 번째 구문의 유용한 확장입니다.
foreach(array_expression as $value)

foreach(array_expression as $key => $value)

첫 번째 형식은 지정된 array_expression 배열을 순회합니다. 루프를 통과할 때마다 현재 셀의 값이 $value에 할당되고 배열 내부의 포인터가 한 단계 앞으로 이동합니다(따라서 다음 루프에서 다음 셀을 얻습니다).
두 번째 형식은 현재 셀의 키 이름이 각 루프의 $key 변수에도 할당된다는 점을 제외하면 동일한 작업을 수행합니다.

먼저 첫 번째 명령문을 살펴보겠습니다. 이 명령문은 배열 표현식을 참조합니다. as $val 명령문은 배열의 값을 순차적으로 가져와서 $val 변수에 저장합니다. 방법 배열의 값만 가져올 수 있고 배열의 아래 첨자 인덱스 값은 가져올 수 없습니다. 예:
$myArray=array("1"=>"val1","2"=>"val2","3"=>"val3");
foreach($myArray as $ val) {
print($val." ");
}
결과는 다음과 같습니다. val1 val2 val3
첫 번째 In과 마찬가지로 두 번째 형식도 살펴보겠습니다. 동일한 형식으로 배열의 요소 값을 가져오는 것 외에도 요소의 인덱스 값을 가져와서 $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")
);
인쇄 ("

    ");
    foreach($myArray as $key=>$val) {
    print("
  • ".$key."
  • ");
    if (is_array($val)) { //$val 판단 값이 배열인지 여부, 그렇다면 하위 순회
  • ".$key."=>".$val을 입력합니다. "
  • ");
                                                                                            > 12=>val12
    13=>val13
    2
    21=>val21
    22=>val22
    23=>val23
    3
    31= >val31
    32=>val32
    33=>val33
    • 는 단색 점과 속이 빈 점을 표시하는 데 사용되는 레이블입니다.
      위는 2차원 배열이므로 첫 번째 순회 후 얻은 $val 값이 배열이 되기 때문에 2차 배열 순회를 위한 순회에 판단을 추가했습니다.
      퍼즐을 푸는 또 다른 예
      $a = array("1"=>"중국어","2"=>"수학","3"=> "영어");
      $b = array("1"=>"95","2"=>"99","3"=>"92");
      foreach($ a as $key=>$value){
      echo $value;
      echo $b[$key]."
      ";
      }
      ?>
      질문 $b 배열의 값을 출력하기 위해 $b[$value] 대신 $b[$key]를 사용하는 이유는 무엇입니까?
      이게 왜요?
      $a = array("1"=>"중국어","2"=>"수학","3"=>"영어");
      위의 내용은 다음과 완전히 동일합니다. 아래
      $a[1]="중국어"
      $a[2]="수학"
      $a[3]="영어"
      위의 배열을 어떻게 출력합니까?
      echo $a[1]여야 합니다.
      그렇죠?
      의심할 여지가 없다면 계속하세요! ! ! !
      ——————————————————————————————————————————
      간단히 말하면 foreach
      형식은 다음과 같습니다. foreach(배열 이름을 아래 첨자 => 값)
      아래 첨자는 위의 $a[1]이고 여기의 1은 배열의 첨자입니다!
      이 시점에서 $a[$key]가 이렇게 출력되는 이유를 이해해야 합니다
      어떻게 변경하더라도 배열의 출력 방법은 항상 $가 아닌 $a[1]라는 것을 기억하세요. a['중국어']
      ======================================== ======= ===================
      foreach()에는 두 가지 용도가 있습니다.
      1: foreach(array_name as $value){
      문;
      }
      여기에서 array_name은 순회하려는 배열의 이름입니다. 각 루프에서 array_name 배열의 현재 요소 값은 $value에 할당되고 해당 첨자는 배열이 한 단계 아래로 이동합니다. 즉, 다음 루프입니다. 다음 요소를 반환합니다.
      2: foreach(array_name as $key => $value){                                                                                          $value에 할당되는 요소의 값 외에도 현재 요소의 키 값도 각 변수의 $key에 할당됩니다. 고리. 키 값은 아래 첨자 값 또는 문자열일 수 있습니다. 예를 들어 book[0]=1의 "0", book[id]="001"의 "id"입니다.

      위 내용은 관련 내용을 포함하여 PHP foreach의 사용법과 예시를 소개하고 있는데, PHP 튜토리얼에 관심이 있는 친구들에게 도움이 되기를 바랍니다.

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