본문 바로가기

프로그래밍/php

php 기본문법 - 4주차 (2)

 

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