logo

  • 로그인
  • 회원가입
  • 페이스북 트위터 블로그

  • HOME
    • 메인페이지
    • link
  • 교무업무자료
    • 교무업무자료
      • 교무업무유틸
      • 교무업무 PPT
    • 학습지도안
    • 브로슈어
    • 교육정보자료
    • 제작영상
  • 수능학습자료
    • 수능기출문제
    • 모의수능기출
    • 학력평가기출
    • 인터넷 강의
      • 인터넷 강의2
      • my_vod
      • 해설강의와이드
      • 해설강의
    • 자기소개서
    • 학교생활종합
    • 세특참고자료
    • 자율활동기록
  • 교육 과정 자료
    • 교육과정자료
      • 수학
      • 수학1
      • 수학2
      • 미적분
      • 단원별기출문제
      • 기하 와 벡터
    • 학력평가1학년
    • 학력평가2학년
    • 학력평가3학년
    • 영재교육
    • 수학교재
      • 플래시학습자료
  • 커뮤니티
    • 커뮤니티
    • 공지사항
    • 자료실
    • 멀티 포토
      • 갤러리
    • 홈페이지
      • 사용방법
    • 웹하드
  • 홈페이지 자료
    • 플래시 자료
    • 디자인 자료
    • PPT 자료
    • 학습하기(NEW)
    • 폰트소스
    • php java
      • 홈피update
    • sound 자료
  • goodnews
    • good news
    • 수화찬양
    • CCM찬양
    • 동영상
    • 동영상자료
      • 영어듣기
    • 교회자료실

브라우저를 닫더라도 로그인이 계속 유지될 수 있습니다. 로그인 유지 기능을 사용할 경우 다음 접속부터는 로그인할 필요가 없습니다. 단, PC방, 학교, 도서관 등 공공장소에서 이용 시 개인정보가 유출될 수 있으니 꼭 로그아웃을 해주세요.

  • 아이디/비밀번호찾기  신규회원가입
  • 인증메일재발송
  • 커뮤니티
  • 공지사항
  • 자료실
  • 멀티 포토
    • 갤러리
  • 홈페이지
    • 사용방법
  • 웹하드

foreach문 사용법에 대하여

2013.07.03 08:00

맥가이버 조회 수:658

http://jobdahan.net/language_php/17381

 

 

제목 : PHP 내공올리기 강좌 1 : foreach 사용법

글쓴넘 : 위경섭

저작권 : 위경섭

 

이 글은 글쓴넘과 저작권을 표시하여 배포 가능함다 !!!

--

 

foreach 사용법

 

우선 foreach 문법의 prototype 을 보자

 

1. foreach (array_expression as $value) statement

첫번째 사용법은 배열의 첨자를 무시하고 값만을 사용하고 싶을때 사용한다.

 

이런배열이 있다고 가정해 보자

 

$my_arr[0] = "apple";

$my_arr[5] = "orange";

$my_arr[15] = "pineapple";

 

이 배열을 출력하는 일반적인 for 문을 구성해보자.

 

for($i=0;$i<=15;$i++)

{

    if( $my_arr[$i] != "") echo $my_arr[$i];

}

 

세개의 내용을 표시하기위해 15번의 루프를 돈다. 이걸 foreach 로 바꿔보자.

 

foreach($my_arr as $fruit)

{

    echo $fruit;

}

 

이 문장은 세개의 과일을 표시하기위해 정확히 세번만 돈다..

 

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

 

이제 좀더 파워풀한 두번째 사용법을 보자.

 

위의 예를 그대로 써서...

 

foreach($my_arr as $idx => $fruit)

{

    echo "INDEX : $idx, fruit : $fruit";

}

 

두번째의 경우는 PHP에 존재하는(다른언어에도 있을랑가 모르겠지만...) 문자열첨자르 사용할 경우 아주 유용하다.

 

// 설정값 저장용 배열

$my_cnf["version"] = "1.5";

$my_cnf["appname"] = "My Application";

$my_cnf["Author"] = "위경섭";

 

foreach($my_cnf as $keyName => $value)

{

    echo "$keyName = $value";

}

 

이제 아주 유용한 실전 예제를 한번 만들어보자..

 

문)

내가 호스팅받는 계정이 보안상의 이유로 PHP register global 을 off 해놨다.

그래서 내가만든게시판의 action 파일에 있는 $subject 등을 $_POST["subject"] 로 바꿔서

써야한다. 근데 이게 일이 넘 많다!.. 이걸 일일이 안바꾸고 해결할 방법이 있겠는가 ?

 

답)

일단 $_POST 의 특성을 보자...

 

$_POST 는 웹페이지에서 <form method=post ...> 했을때 폼태그 내에있는 양식(input,select 등등) 의 값이 넘어오는 배열이다. PHP의 register global 이 on 되어있으면 PHP가 자동으로 해당변수의 이름으로 매핑해준다. 하지만 off 이면 $_POST["name속성명"] 으로 참조해야한다.

 

그다음 PHP의 참조변수 기능을보자.

 

$fruit = "apple";

$apple = "이것은 사과";

echo $$fruit; // "이것은 사과" 를 출력함..

 

변수명을 문자열로 사용할 수 있다..즉

$apple === $$fruit 인 것이다..

 

이제 $_POST 배열안의 각변수들을 실제 변수로 만들어보자

 

foreach($_POST as $key => $value)

{

    $$key = $value;

}

 

끝났다...이제 register global=off 상태에서도 내가 폼을 통해넘긴 변수를 register global on 일때 처럼 사용할 수 있다.

 

$$key = $value;

 

$key 에는 $_POST 배열의 첨자가 온다.

 

$_POST["subject"] = "나의 게시물";

 

여기서 "subject" 가 $key 에 "나의 게시물" 이 $value 에 들어간다.

 

위에서 설명한 변수참조 기능에서

$$key -->  $"subject" 가 되고($subject 변수가 생성된다) 여기에 $value를 넣으므로

 

$subject = $value;

 

이런 결과가 되어

 

$_POST["subject"] = "나의 게시물";

 

이 문장에서 아래의 문장이 실행된다.

 

$subject = "나의 게시물";

 

이렇게 해서 폼에서 넘긴 name=subject 폼이 $subject 로 사용가능하게 된다.

 

 

이 게시물을
  • Twitter
  • Facebook
  • Delicious
목록

댓글 0

목록
번호 제목 글쓴이 날짜 조회 수
공지 2023worship 맥가이버 2023.01.01 317
공지 worship 맥가이버 2021.03.21 530
공지 새소식반 맥가이버 2021.03.21 467
1012 2026년 자유학기제 금융교육안내 file 맥가이버 2026.01.06 14
1011 2026 1월 1주 구매 맥가이버 2026.01.04 1
1010 수학탐구주제 맥가이버 2025.12.26 1
1009 도커 mariadb접속 file 맥가이버 2025.12.23 2
1008 Fhh 맥가이버 2025.12.20 3
1007 Fhhjfghj 맥가이버 2025.12.20 2
1006 연습 file 맥가이버 2025.12.20 2
1005 컴즈인 수정버전 file 맥가이버 2025.12.18 5
1004 1111111 이예령 2025.12.15 23
1003 생기부 참고자료 맥가이버 2025.12.09 43
1002 삼성 scx8123 이미지유닛 교체방법(드럼) 맥가이버 2025.12.03 46
1001 슈어 마이크 AS 맥가이버 2025.11.28 46
1000 111 file 맥가이버 2025.11.20 45
999 성 인지 연수 맥가이버 2025.11.19 28
998 구매한것 맥가이버 2025.11.18 6
997 캐릭터 예시 file 맥가이버 2025.11.17 6
996 2025 성곡 교복 만족도 조사 file 맥가이버 2025.11.17 6
995 구글 품에서 날짜(전화) 형식 맞추기 맥가이버 2025.11.17 8
994 구글 스크립트 수정버전11_11 file 맥가이버 2025.11.12 32
993 대구사랑방도배장찬 맥가이버 2025.11.10 2
첫 페이지 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 끝 페이지
쓰기
태그
logo
  • 학습도움방
  • 주간계획
  • 각종통계조사
  • api 연동
  • 업로드
COPYRIGHT © ALL RIGHTS RESERVED.
관련사이트