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 수열의 합 장영조 2006.06.01 380
1011 하노이 탑 장영조 2006.06.01 590
1010 123 file 장영조 2006.06.23 350
1009 연습문제 장영조 2006.09.09 394
1008 링크 장영조 2006.09.12 357
1007 ping 테스트에서 time,ttl,lost 의 개념이 무엇인지 알려주세요 장영조 2006.09.19 542
1006 SATA는 뭐고 RAID는 뭡니까? 장영조 2007.01.28 367
1005 학습관리시스템 트리 file 장영조 2008.04.05 364
1004 견적서 장영조 2008.04.20 494
1003 로그인 에러 file 장영조 2009.03.09 364
1002 720*489변환 file 장영조 2009.04.04 387
1001 보이스 웨어 자료 장영조 2009.06.22 402
1000 하나님의꿈 file 장영조 2010.04.21 351
999 코덱설정 divx v5.0.2 file 장영조 2010.04.23 346
998 검정 교과서 구입방법 장영조 2010.05.31 374
997 날세우시네 file 장영조 2010.06.21 401
996 특수 효과 안내 장영조 2010.07.21 392
995 jw 플레이어 설정 안내 장영조 2010.08.24 365
994 에펙 에러 장영조 2010.11.02 1720
993 윈도우 탐색기에서 mov(QuickTime) 파일 미리보기 file 장영조 2010.11.08 1439
첫 페이지 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.
관련사이트