PHP의 **배열(array)**은 하나의 변수에 여러 개의 값을 저장할 수 있는 자료구조로, 키(key)와 값(value)의 쌍으로 이루어져 있습니다. PHP 배열은 유연하며, 숫자 인덱스와 문자열 키를 모두 지원합니다. 또한, PHP 배열은 내부적으로 해시 테이블로 구현되어 있어 다양한 방식의 데이터 처리에 사용됩니다.
종류 |
설명 |
---|---|
순차 배열 (Indexed array) |
숫자 인덱스를 사용하는 배열 |
연관 배열 (Associative array) |
문자열 키를 사용하는 배열 |
다차원 배열 (Multidimensional array) |
배열 안에 배열이 있는 구조 |
$fruits = array("사과", "바나나", "오렌지");
$fruits = ["사과", "바나나", "오렌지"];
echo $fruits[0]; // 사과
$user = [
"name" => "홍길동",
"age" => 30,
"email" => "hong@example.com"
];
echo $user["name"]; // 홍길동
$user["age"] = 31;
$user["city"] = "서울";
$fruits[] = "포도";
unset($user["email"]);
unset($user);
foreach ($fruits as $fruit) {
echo $fruit . "<br>";
}
foreach ($user as $key => $value) {
echo "$key: $value<br>";
}
PHP는 배열을 다루는 다양한 내장 함수를 제공합니다. 대표적인 함수는 아래와 같습니다.
함수 |
설명 |
---|---|
count() |
배열 요소 개수 반환 |
array_push() |
배열 끝에 값 추가 |
array_pop() |
배열 끝 요소 제거 |
array_shift() |
배열 첫 요소 제거 |
array_unshift() |
배열 처음에 값 추가 |
in_array() |
배열에 값이 있는지 확인 |
array_key_exists() |
키가 존재하는지 확인 |
array_keys() |
모든 키를 배열로 반환 |
array_values() |
모든 값을 배열로 반환 |
sort() |
값 기준 정렬 (인덱스 재정렬됨) |
asort() |
값 기준 정렬 (키 유지) |
ksort() |
키 기준 정렬 |
$numbers = [3, 1, 5];
sort($numbers); // [1, 3, 5]
배열 안에 또 다른 배열이 포함된 구조입니다.
$users = [
[
"name" => "철수",
"age" => 25
],
[
"name" => "영희",
"age" => 28
]
];
echo $users[1]["name"]; // 영희
print_r($array) 또는 var_dump($array)를 사용하면 배열 구조를 확인할 수 있습니다.
print_r($user);
$a = ["x" => 1];
$b = ["y" => 2];
$c = $a + $b;
$a == $b // 값과 키가 같으면 true
$a === $b // 값, 키, 순서, 자료형 모두 같아야 true
기능 |
예 |
---|---|
배열 생성 |
$arr = [1, 2, 3]; |
값 추가 |
$arr[] = 4; |
값 삭제 |
unset($arr[0]); |
반복 처리 |
foreach ($arr as $v) |
다차원 배열 |
$arr[0]['name'] |
배열 함수 |
count(), sort(), in_array() 등 |