배열 표기법(리터럴, Literal)
PHP에서 배열을 생성(선언)하거나 나타내는 표기법(리터럴, Literal)으로는 array()
과 []
가 있습니다.
array()
과 []
를 사용하면 인덱스 배열, 연관 배열, 다차원 배열을 쉽게 생성하거나 배열을 초기화할 수 있습니다.
리터럴(Literal)이란
사람이 이해할 수 있는 문자나 기호로 값을 생성하는 표기법을 말합니다.
PHP 5.4이전에는 배열의 표기법은 array()
만 있었습니다.
PHP 5.4부터는 array()
를 []
로 대체하는 짧은 배열 구문(short array syntax)을 사용할 수 있습니다.
array()
과 []
의 형식은 다음과 같습니다.
구문
// array() 표기법
array(value1, value2, value3, ...)
// [] 표기법
[index=>value, index=>value, index=>value, ...]
// array() 표기법
array(index=>value, index=>value, index=>value, ...)
// [] 표기법
[index=>value, index=>value, index=>value, ...]
매개변수
value |
배열의 값들을 정의합니다. |
---|---|
index |
각 값에 대한 인덱스를 정의합니다. 이 인덱스는 문자열 또는 정수형이 될 수 있습니다.
|
배열의 마지막 요소 뒤에 쉼표(,
)가 있더라도 유효한 구문입니다.
// array() 표기법
array(
1,
2,
3, // 마지막 요소 뒤에 쉼표(,)가 있더라도 유효한 구문입니다.
);
// [] 표기법
[
1,
2,
3, // 마지막 요소 뒤에 쉼표(,)가 있더라도 유효한 구문입니다.
];
반환 값
매개변수의 배열을 반환합니다.
예제
빈 배열
배열에 요소가 없는 빈 배열을 표기하는 방법입니다.
// array() 표기법
$empty_array = array();
// [] 표기법
$empty_array = [];
print_r($empty_array);
// 출력: Array ( )
인덱스 배열
인덱스 배열은 각 요소에 순차적인 숫자로 된 인덱스가 할당된 배열입니다.
PHP에서 인덱스 배열은 배열 요소에 숫자로 된 인덱스를 사용하여 접근할 수 있습니다. 이러한 배열은 0
부터 시작하는 정수 인덱스를 가지며, 각 인덱스는 해당 위치에 있는 값을 나타냅니다.
// array() 표기법
$fruits = array('Apple', 'Banana', 'Cherry');
// [] 표기법
$fruits = ['Apple', 'Banana', 'Cherry'];
echo $fruits[0]; // 출력: 'Apple'
echo $fruits[1]; // 출력: 'Banana'
echo $fruits[2]; // 출력: 'Cherry'
연관 배열
연관 배열은 각 요소에 문자열 또는 정수가 아닌 사용자가 지정한 키를 사용하여 접근할 수 있는 배열입니다. 이러한 키-값 쌍은 배열의 요소를 식별하는 데 사용됩니다.
// array() 표기법
$ages = array("Peter" => 35, "Ben" => 37, "Joe" => 43);
// [] 표기법
$ages = ["Peter" => 35, "Ben" => 37, "Joe" => 43];
echo $ages["Peter"]; // 출력: 35
echo $ages["Ben"]; // 출력: 37
echo $ages["Joe"]; // 출력: 43
다차원 배열
다차원 배열은 배열 내에 다른 배열을 포함하는 배열입니다. 이는 행렬이나 트리와 같은 데이터 구조를 나타내는 데 유용합니다.
// array() 표기법
$cars = array(
array('Volvo', 22, 18),
array('BMW', 15, 13),
array('Saab', 5, 2),
array('Land Rover', 17, 15)
);
// [] 표기법
$cars = [
['Volvo', 22, 18],
['BMW', 15, 13],
['Saab', 5, 2],
['Land Rover', 17, 15]
];
echo $cars[0][0]; // 출력: 'Volvo'
echo $cars[1][0]; // 출력: 'BMW'
echo $cars[2][0]; // 출력: 'Saab'
echo $cars[3][0]; // 출력: 'Land Rover'
혼합 배열
인덱스 배열과 연관 배열이 함께 있는 경우, 이를 "혼합 배열(Mixed Array)"이라고 합니다. 혼합 배열은 숫자로 된 인덱스와 문자열로 된 키를 모두 가지는 배열을 나타냅니다. 이러한 배열은 PHP에서 다양한 데이터 구조를 표현할 때 사용됩니다.
// array() 표기법
$mixed_array = array(
'name' => 'John',
'age' => 30,
'hobbies' => array('Soccer', 'Reading'),
'address' => '123 Main Street'
);
// [] 표기법
$mixed_array = [
'name' => 'John',
'age' => 30,
'hobbies' => ['Soccer', 'Reading'],
'address' => '123 Main Street'
];
echo $mixed_array['name']; // 출력: 'John'
echo $mixed_array['age']; // 출력: 30
echo $mixed_array['hobbies'][0]; // 출력: 'Soccer'
echo $mixed_array['hobbies'][1]; // 출력: 'Reading'
echo $mixed_array['address']; // 출력: '123 Main Street'