PHP 내의 배열에 대해 알아보자
일차원 배열 및 다차원 배열로 나뉨
또한 배열은 원소의 키와 값으로 나뉘며, 키를 숫자로 가지는 것을 인덱싱 배열, 키를 문자로 가지는 것을 연관 배열이라고 함.
숫자 키인 경우 $member[0] = "국어"; // 여기서 '0'을 키라 하고, "국어"를 값이라 한다. 키를 숫자로 가지므로 인덱싱 배열.
문자 키인 경우 $member["Age"] = 26; // 여기서 "Age"를 키라 하고, 26을 값으리 한다. 키를 문자로 가지므로 연관 배열.
** 배열 만들기
## 일차원 배열
- 인덱싱 배열
1. $member = array(0 => "국어", 1 => "수학", 2 => "영어"); // 숫자를 키로 가지며, 각 키와 값은 ',' 콤마로 구분
--> $member[0] = "국어", $member[1] = "수학", $member[2] = "영어" // 이와 같이 값이 주어진다.
2. $member = array("국어", "수학", "영어"); // 인덱싱 배열의 경우 굳이 키를 안 지정해도 자동적으로 0부터 부여 된다.
--> $member[0] = "국어", $member[1] = "수학", $member[2] = "영어" // 이와 같이 값이 주어진다.
- 연관 배열
$member = array("Name" => "Yoon", "Age" => 26, "Sex" => 'M'); // 키는 Name, Age, Sex 이고 각 값은 "Yoon", 26, 'M' 임.
- 인덱싱 배열과 연관배열 혼합
$member = array ("국어", "Name" => "Yoon", "Age" => 26, "수학", "영어", "Sex" => 'M'); // 인덱싱 배열과 연관 배열 혼합
--> $member[0] = "국어", $member["Name"] = "Yoon", $member["Age"] = 26, $member[1] = "수학", $member[2] = "영어"...
위와 같이 적을 경우 연관 배열 일반과 같이 해당되는 키와 값을 가지며,
키가 없는 경우 자동적으로 0부터 키가 부여되며 인덱싱 배열이 된다.
## 다차원 배열
- 인덱싱 배열과 인덱싱 배열
$member = array (
array ("국어", "수학", "영어"), // 마지막에 쉼표로 구분
array ("1교시", "3교시", "5교시"), // 마지막에 쉼표로 구분
);
--> 위에서 "수학"에 접근할 경우 $member[0][1]
위에서 "5교시"에 접근할 경우 $member[1][2]
- 인덱싱 배열과 연관배열 혼합
$member = array (
array("Name" => "Yoon", "Age" => 26, "Sex" => 'M'), // 인덱싱 배열 키로 0을 가진다. 실제 값에 접근은 연관 배열.
array("Name" => "Jeong", "Age" => 24, "Sex" => 'F'), // 인덱싱 배열 키로 1을 가진다. 실제 값에 접근은 연관 배열
); // 위와 같이 작성하며 맨 처음 array는 인덱싱 배열로 되며 나중의 array는 연관배열이 된다.
--> 위에서 26에 접근할 경우 $member[0]["Age"]
위에서 "Jeong"에 접근할 경우 $member[1]["Name"]
- 연관배열과 연관배열
$member = array (
"국어" => array ("이름" ="Yoon", "점수" => 90, "평균" => 80),
"수학" => array ("이름" ="Jeong", "점수" => 90, "평균" => 95),
);
--> 위에서 90에 접근하려면 $member["국어"]["점수"]
위에서 "Jeong"에 접근하려면 $member["수학"]["이름"]
연관배열 사용시 주의사항.
키는 꼭 작은 따옴표나 큰따옴표를 사용하는 습관을 들이기
같은 문자의 상수가 있을 경우 그 상수로 키가 변경되어 아예 다른 값이 출력될 수 있음.
없을 경우에는 원하는 값이 나오기는 하지만 혹시 모를 오류에 대비
ex) $member[국어][점수] --> 좋지 않아요.
$member["국어"]["점수"] --> 좋아요
'컴퓨터 세상 > PHP' 카테고리의 다른 글
PHP - $_SERVER 변수 (0) | 2020.07.09 |
---|---|
PHP - 미리 정의된 PHP 변수 (0) | 2020.07.09 |
PHP - 지역 변수, 전역 변수, 정적 변수, 가변 변수 (0) | 2020.07.08 |
PHP - String 변수 (0) | 2020.07.08 |
PHP 기초 (0) | 2020.07.07 |