5. foreach
다음은 진짜 처음 보는 foreach 이다. (파이썬에 있다고 함.... ^^)
<?php
$week = array("월","화","수");
foreach($week as $value){
print $value;
print "<BR>";
}
?>
출력을 해보면 월만 덩그러니 나온다. 오타가 있는건가 ..?
.
.
.
.
오타가 있었다 ㅋㅋㅋㅋㅋ "<BR" 이렇게 했었다
"<BR>"로 고치니 array에 있는 모든 값들이 한 줄에 하나씩 출력된다.
array 함수는 3주차때 다뤘었는데 복습을 안해서 엄청 생소하다. 복습 좀 하자..
array 함수는 문자들을 배열화해서 week 배열 변수에 저장을 해준다.
foreach는 출력할 내용물이 있으면 true가 되어 출력하고, 없으면 false가 된다.
$week 배열변수에서 값을 뽑아서 value 변수에 넣어주는 것이다.
fo_reach로 읽었었는데 for_each 였음 ㄷㄷ
foreach는 나에게 좀 생소하니까 공부하라는 의미에서 슬라이드 첨부
foreach에 대해서 추가로 찾아보았다.
.
.
.
.
php 에서 foreach 문은 배열의 원소나, 객체의 프로퍼티 수만큼 반복하여 동작하는 구문이다. foreach는 배열의 원소나, 객체의 프로퍼티의 값 하나하나에 대해 처리하는 경우에 for문 보다 깔끔한 코드를 만들어 낼 수 있다.
foreach를 사용하는 방법은 크게 두 가지가 있다.
방법 1. value만 가져오는 경우
foreach($array as $value)
방법 2. key와 value를 가져오는 경우
foreach($array as $key => $value)
foreach는 배열이나 객체의 데이터를 다 읽을 때까지 (이게 조건) 수행하는 for문의 일종이라고 생각해두면 될 듯하다.
6. break - 흐름제어
마지막 break와 foreach에 대해 배울 수 있는 코드를 써보자.
<?php
$member[0] = "this";
$member[1] = "is";
$member[2] = "my";
$member[3] = "home";
$member[4] = "ground";
$i = 1;
$limit = 3;
foreach($member as $key => $value){
if ($i > $limit){
print "escape the repetition.<BR>";
break;
}
print "index : $key";
print " name : $value";
print "<BR>";
$i++;
}
?>
위의 코드를 분석해보면 member 변수에 index 변수를 설정해주면서 member 변수를 배열변수로 만들어준다.
이전 코드에서 처럼 array 함수로 배열을 만들 수도 있지만 지금처럼 index를 이용해 직접 저장할 수도 있다.
* => 는 연관관계가 있다를 표현해주는 기호
Q. index 순서대로 선언하지 않아도 되나?
-> 된다. array가 아니라 연관배열(?)이라서 인덱스가 숫자가 아닌 문자여도 괜찮음.
Q. 선언하는 과정에서 index가 비어있으면 어떻게 될까?
-> 위와 같은 맥락. array가 아니라서 아~무 상관 없음.
위의 코드를 출력하면 아래와 같은 결과가 나온다.
index : 0 name : this
index : 1 name : is
index : 2 name : my
'프로그래밍 > php' 카테고리의 다른 글
MAC 으로 XAMPP / MySQL (0) | 2022.10.19 |
---|---|
5주차 - 클래스와 객체 (0) | 2022.10.12 |
PHP 기본문법 - 4주차(1) (1) | 2022.09.28 |