
배열array의 요소로는
- 변수명처럼 동작하는 키
- 이름이 나타내는 데이터인 값
이 있다.
또한, PHP는 두 가지 형태의 배열이 있다.
- 연관 배열에서 각 요소의 키는 데이터를 가리키는 이름이다.
- 인덱스 배열에서 각 요소의 키는 인덱스 번호라는 숫자다.
연관 배열을 만들려면, 배열의 각 요소에 포함된 데이터를 설명하는 키를 지정해야 한다.
$member = [
'name' => 'Ivy',
'age' => 32,
'country' => 'Italy',
];
$member = array(
'name' => 'Ivy',
'age' => 32,
'country' => 'Italy',
);
다음과 같이 [ ] 를 사용하거나 array( )를 사용할 수 있으며, 이중 화살표 연산자를 사용하여 배열을 저장한다.
연관 배열의 요소에 접근하려면 대괄호와 따옴표를 사용한다.
$member['name'];
배열을 생성할 때 각 요소에 대한 키가 제공되지 않으면 PHP 인터프리터는 인덱스 번호라고 불리는 숫자를 할당한다. 인덱스 번호는 0부터 시작한다.
$shopping_list = ['bread', 'cheese', 'milk',];
$shopping_list = array('bread', 'cheese', 'milk',);
인덱스 배열 내의 항목에 접근하려면 다음과 같이 한다.
$shopping_list[2];
연관 배열에 저장된 값 업데이트
$member['name'] = 'Tom';
인덱스 배열에 저장된 값 업데이트
$shopping_list[2] = 'butter';
연관 배열은 다음과 같은 경우에 사용한다.
- 배열이 보유할 정보를 정확하게 파악하고 있는 경우, 이것은 각 요소에 대한 키 이름을 제공하기 위해 필요하다.
- 키 이름을 사용하여 한 부분의 데이터를 가져와야 하는 경우
인덱스 배열은 다음과 같은 경우에 사용한다.
- 배열에 얼마나 많은 데이터가 저장될지 모르는 경우
- 일련의 값을 특정 순서로 저장하고 싶은 경우
배열의 모든 요소가 또 다른 배열을 담고 있다면, 이것을 다차원 배열이라고 하며 마치 표를 보는 것처럼 데이터를 나타내는 데 사용할 수 있다.
$members = [
['name' => 'Ivy', 'age' => 32, 'country' => 'UK',],
['name' => 'Emi', 'age' => 24, 'country' => 'Japan',],
['name' => 'Luke', 'age' => 47, 'country' => 'USA',],
];
Emi에 대한 데이터를 가지고 있는 배열을 얻으려면 다음과 같이 한다.
$members[1];
Luke의 나이를 얻으려면 다음과 같이 한다.
$members[2]['age'];
출처 - 존 두켓, <백엔드 프로그래밍을 위한 PHP & MySQL>, Jpub, 2022