(제어문)반복문 - foreach 문

· 댓글 : 0 조회 : 3447 · 0

foreach 문은 배열만 처리할 수 있는 반복문이다.

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

foreach(배열이름 as 하나의 배열원소를 담을 수 있는 변수){

문장들;

}

 

foreach(배열이름 as 키변수 => 값을 저장할 수 있는 변수){

문장들;

}

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

첫 번째 형태는 주어진 배열에 대해 반복문을 수행한다. 각 반복에서 배열 원소의 값을 하나씩 읽어들여 이를 변수에 저장한다.

내부적인 배열 포인터는 하나씩 이동하게 되므로 다음번 반복에서는 다음 배열 원소를 읽게 된다.

 

두번째 반복문도 동일하지만, 연관배열을 위한 구문이다. 즉, 현재 배열 원소를 키와 값으로 분리한 후 키변수와

값변수에 각각 저장하게된다. 이 경우도 내부적으로 배열 포인터가 하나씩 이동하게된다.

 

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

첫번째형태 예제

 

<?php

$num = array(30, 53, 66, 19, 23);  // 배열변수

$sum = 0;                                 // 총 점수를 구하기위한 초기화

foreach($num as $point){           // 배열변수의 값을 $point에 차례대로 배정

$sum += $point;                        // $num으로 부터 원소값을 하나씩 읽어 들여 이를 $point 변수에 배정하고 $sum값에 누적해간다.

}

$total= $sum / sizeof($num);     //sizeof로 배열의 수를 구하고 그값으로 누적된 값을 나눈다.

echo "평균점수는 $tota 입니다.";

 

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

두번째형태 예제

 

입력페이지

 

목록 가격
목록 가격
목록 가격
목록 가격
목록 가격




 

출력페이지

 

<?php
$key1 = $_POST["key1"];
$key2 = $_POST["key2"];
$key3 = $_POST["key3"];
$key4 = $_POST["key4"];
$key5 = $_POST["key5"];

$add1 = $_POST["add1"];
$add2 = $_POST["add2"];
$add3 = $_POST["add3"];
$add4 = $_POST["add4"];
$add5 = $_POST["add5"];

$plus = array($key1=>$add1, $key2=>$add2, $key3=>$add3, $key4=>$add4, $key5=>$add5);

 

echo "배열 원소들의 값
";
echo "키에 의한 정렬
";
ksort($plus);
foreach($plus as $key=>$value){
echo "[$key] :: ".number_format($value)."
"; 
 }
echo "
";
echo "값에 의한 정렬
";
asort($plus);
foreach($plus as $key=>$value){
echo "[$key] :: ".number_format($value)."
"; 
 }

?>

 

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

foreach(){} 문을 사용하기 위해서는 ksort() 함수와 asort() 함수를 기억하고 있어야 할듯 하네요..

 

ksort() 함수는 배열을 매개변수로 받아들여 원소의 키 순서대로 배열을 정렬하고

asort() 함수는 배열 값의 크기가 작은 순서대로 배열을 정렬 합니다.

number_format() 함수는 1,000 단위로 콤마를 삽입하여 출력하게됩니다.

 

통계분석을 위해 매체별 전용URL 사용해주세요.
불타는면빨님의 포스트
최근 리스트
리스트가 없습니다.