2018. 3. 27. 17:04ㆍ프로그래밍 언어/PHP
학습목표
1. 배열이 무엇이고, 배열에 담긴 값을 어떻게 다루는지 공부한다.
2. 연관배열이 무엇인지 공부해 본다.
1. 배열
다른 언어에서 '리스트'라는 이름으로도 불리는 자료형으로 , 연관된 데이터를 모아서 관리하기 위한 자료형이다.
배열 - 여러개의 데이터를 저장 / 변수 - 하나의 데이터 저장
① 배열의 선언 방법
- 배열을 만들기 위해서 '[](대괄호)'를 사용한다.
- 배열에서 각각의 값을 '요소(elements)' 라고 부른다.
1 2 3 4 5 6 7 8 | <?php $list = ['a','b','c']; for($i=0; $i<count($list); $i++){ echo $list[$i].'<br />'; } var_dump($list); ?> | cs |
결과>
a
b
c
array(3) { [0]=> string(1) "a" [1]=> string(1) "b" [2]=> string(1) "c" }
※ PHP 5.4 이전의 구버전에서의 배열 사용 방법
1 2 3 | <?php $배열명 = array('값', '값2, ....); ?> | cs |
② 배열의 값을 가져오는 방법
배열에 담겨있는 여러개의 값중 원하는 값을 가져오고 싶은데 이용할 수 있는 것이 바로 '색인(index)' 이다.
배열의 공간들은 0부터 시작하는 색인(이하 '인덱스')을 하나씩 가지게 된다.
1 2 3 4 5 | <?php $list = ['a','b','c','d']; echo $list[2]; ?> | cs |
결과>
c
③ 배열 + 반복문 조합
1 2 3 4 5 6 7 8 9 10 11 12 | <?php function get_members(){ return ['egoing', 'k8804', 'sorialgi']; } $members = get_members(); for($i=0; $i<count($members); $i++){ echo ucfirst($members[$i]).'<br />'; } ?> | cs |
결과>
Egoing
K8804
Sorialgi
- ucfirst() 함수 : Upper Case First , 즉 첫번째 오는 문자를 대문자로 변환하는 함수.
- count() 함수 : 인자로 주어진 변수의 크기를 반환하는 함수.
④ 배열 조작
(1) array_push() : 배열의 마지막에 값을 추가함
(2) array_pop() : 배열의 마지막 값을 배열에서 제거함
(3) array_shift() : 배열의 맨 앞에 데이터를 배열에서 제거함
(4) array_unshift() : 배열의 맨 앞에 데이터를 추가함
※ 변수의 정보 출력 함수
var_dump
print_r
⑤ 배열의 정렬 (Sorting)
1 2 3 4 5 6 7 8 9 10 11 | <?php $list = ['b','c','a','d']; sort($list); for($i=0; $i<count($list); $i++){ echo $list[$i]; } echo '<br />'; var_dump($list); ?> | cs |
(2) 내림차순 정렬(Reverse Sorting)
1 2 3 4 5 6 7 8 9 10 11 | <?php $list = ['c','c','a','d']; rsort($list); for($i=0; $i<count($list); $i++){ echo $list[$i]; } echo '<br />'; var_dump($list); ?> | cs |
2. 연관 배열(Associated Array)
1 2 3 4 5 6 | <?php $list = ['a', 'b', 'c', 'd', 'e']; array_unshift($list, 'z'); var_dump($list); ?> | cs |
결과>
array(6) { [0]=> string(1) "z" [1]=> string(1) "a" [2]=> string(1) "b" [3]=> string(1) "c" [4]=> string(1) "d" [5]=> string(1) "e" }
연관 배열을 사용하는 두 가지 형식
① 배열을 따로 선언하고, 값을 하나씩 매칭 시키는 방법
1 2 3 4 5 6 7 8 9 | <?php $grade = []; # array() 와 동일 $grade['egoing'] = 10; $grade['k8805'] = 8; $grade['sorialgi'] = 80; var_dump($grade); ?> | cs |
결과>
array(3) { ["egoing"]=> int(10) ["k8805"]=> int(8) ["sorialgi"]=> int(80) }
② 배열을 선언하면서 동시에 매칭 시키는 방법
1 2 3 4 5 6 | <?php $grade = array('egoing' => 10, 'k8804' => 8, 'sorialgi' => 80); var_dump($grade); ?> | cs |
결과>
array(3) { ["egoing"]=> int(10) ["k8804"]=> int(8) ["sorialgi"]=> int(80) }
★ 결론적으로 두 방법 표현 방식만 다를 뿐이지 같은 결과물을 내놓는 것을 확인할 수 있다.
foreach() 함수
1 2 3 4 5 6 7 | <?php $grades = array('egoing' => 10, 'k8804' => 8, 'sorialgi' => 80); foreach($grades as $key => $value){ echo "key: {$key} value: {$value}<br />"; } ?> | cs |
결과>
key: egoing value: 10
key: k8804 value: 8
key: sorialgi value: 80
foreach($배열명 as $key => $value){
#실행할 코드
}
- 배열에 저장되어 있는 키 쌍을 가져와서 배열이 끝날 때 까지 반복 실행을 한다.
'프로그래밍 언어 > PHP' 카테고리의 다른 글
6. 함수 (0) | 2018.03.25 |
---|---|
5. 반복문 (0) | 2018.03.21 |
4. 조건문 (0) | 2018.03.19 |
3. 입출력과 Form (0) | 2018.03.18 |
2. Data Type / 변수 / 상수 (0) | 2018.03.14 |