사이트 내 전체검색
PHP
foreach
로빈아빠
https://cmd.kr/php/208 URL이 복사되었습니다.

본문

PHP4(PHP3는 아니다)는 perl 등의 다른 언어가 제공하는 foreach 구조를 제공한다. 이 구조는 배열에 있어서 반복적인 작업을 하는데 유용하다. 이것에는 두가지 문법이 있는데, 두 번째 것은 첫 번째 것의 부분 확장이나 매우 유용하게 사용된다.

  1
  2 foreach(array_expression as $value) statement
  3 foreach(array_expression as $key => $value) statement
  4     
 

첫 번째 모양은 array_expression 으로  주어진 배열에 대해 순환작업(loop)을 수행한다. 개개의 순환작업에서, 배열의 원소는 $value에 저장되고 내부 배열 포인터(internal array pointer)는 하나 전진하여 다음 작업시에 새로운 원소를ㄹ 가져오도록 한다.

두 번째 모양은 첫 번째와 동일한 작업을 하지만, $key에 해당 원소의 키값을 저장하게 된다.

foreach 문이 처음 수행될 때, 내부 배열 포인터(internal array pointer)는 자동적으로 배열의 첫번째 원소로 설정된다. 이말의 의미는 여러분이 foreach 문을 사용할 때 reset()을 미리 호출할 필요는 없다는 것이다.

따라서 아래의 두 개의 문장은 동일한 결과를 만든다는 것을 알 수 있을 것이다. :

  1
  2 reset ($arr);
  3 while (list(, $value) = each ($arr)) {
  4    echo "Value: $value<br>\n";
  5 }
  6
  7 foreach ($arr as $value) {
  8    echo "Value: $value<br>\n";
  9 }
 10     
 

 

다음 두 개의 문장은 기능적으로 동일한 문장이다. :

  1
  2 reset ($arr);
  3 while (list($key, $value) = each ($arr)) {
  4    echo "Key: $key; Value: $value<br>\n";
  5 }
  6
  7 foreach ($arr as $key => $value) {
  8    echo "Key: $key; Value: $value<br>\n";
  9 }
 10     
 

추가적으로 몇 개의 예제를 보자. :

  1
  2 /* foreach example 1: value only */
  3
  4 $a = array (1, 2, 3, 17);
  5
  6 foreach ($a as $v) {
  7    print "Current value of \$a: $v.\n";
  8 }
  9
 10 /* foreach example 2: value (with key printed for illustration) */
 11
 12 $a = array (1, 2, 3, 17);
 13
 14 $i = 0; /* for illustrative purposes only */
 15
 16 foreach($a as $v) {
 17    print "\$a[$i] => $k.\n";
 18 }
 19
 20 /* foreach example 3: key and value */
 21
 22 $a = array (
 23    "one" => 1,
 24    "two" => 2,
 25    "three" => 3,
 26    "seventeen" => 17
 27 );
 28
 29 foreach($a as $k => $v) {
 30    print "\$a[$k] => $v.\n";
 31 }
 32

출처 : http://qdata.co.kr/bo/bbs/board.php?bo_table=pht&wr_id=44

댓글목록

등록된 댓글이 없습니다.

PHP
871 (15/18P)

Search

Copyright © Cmd 명령어 3.137.176.213