PHP의 배열은 단일 변수에 여러 값을 저장할 수 있는 강력한 자료 구조입니다. 배열은 인덱스 방식에 따라 세 가지 주요 유형으로 나뉩니다: 수치 배열, 연관 배열, 다차원 배열.
배열의 개념
배열은 여러 값을 하나의 변수에 담는 특수한 변수입니다. 일반 변수와 달리 하나의 이름으로 여러 데이터를 관리할 수 있습니다. 배열을 정의하는 두 가지 주요 방법은 다음과 같습니다:
// 기본 배열 정의
$colors = array("red", "green", "blue");
// 연관 배열 정의
$user = array("name" => "Kim", "age" => 28);
// 빈 배열 생성 후 요소 추가
$items = [];
$items[0] = "apple";
$items[1] = "banana";
// 또는 array_push 사용
array_push($items, "orange");
예를 들어, 회사를 운영한다고 가정해봅시다. 직원들은 각자 자신이 속한 회사 이름을 밝혀야 합니다. 회사 이름 자체는 하나의 변수이지만, 그 안에 속한 직원들은 배열의 요소가 됩니다.
배열 출력
일반 변수와 달리 배열은 echo나 print로 직접 출력할 수 없습니다. 대신 print_r()과 var_dump() 함수를 사용합니다.
$company = array("Developer", "Designer", "Manager");
print_r($company);
// Array ( [0] => Developer [1] => Designer [2] => Manager )
var_dump($company);
// array(3) { [0]=> string(9) "Developer" [1]=> string(8) "Designer" [2]=> string(7) "Manager" }
print_r()은 배열 구조를 간단히 표시하고, var_dump()는 각 요소의 데이터 타입과 길이까지 상세히 보여줍니다.
1. 수치 배열 (Indexed Array)
수치 배열은 숫자 인덱스를 사용하며, 키는 항상 0부터 시작합니다.
// 자동 인덱스 할당
$employees = array("Alice", "Bob", "Charlie");
// 수동 인덱스 할당
$employees[0] = "Alice";
$employees[1] = "Bob";
$employees[2] = "Charlie";
2. 연관 배열 (Associative Array)
연관 배열은 개발자가 직접 지정한 키를 사용합니다.
$salaries = array(
"Alice" => 50000,
"Bob" => 55000,
"Charlie" => 48000
);
// 또는 개별 할당
$salaries["Alice"] = 50000;
$salaries["Bob"] = 55000;
$salaries["Charlie"] = 48000;
3. 다차원 배열 (Multidimensional Array)
다차원 배열은 배열 내부에 또 다른 배열을 포함하는 구조입니다. 2차원, 3차원 등 원하는 차원으로 생성할 수 있습니다.
2차원 수치 배열
$teams = array(
array("Alice", "Bob"),
array("Charlie", "David"),
array("Eve", "Frank")
);
// 수동 할당
$teams[0] = array("Alice", "Bob");
$teams[1] = array("Charlie", "David");
$teams[2] = array("Eve", "Frank");
2차원 연관 배열
$departments = array(
"개발팀" => array("Alice", "Bob"),
"디자인팀" => array("Charlie", "David"),
"마케팅팀" => array("Eve", "Frank")
);
// 수동 할당
$departments["개발팀"] = array("Alice", "Bob");
$departments["디자인팀"] = array("Charlie", "David");
$departments["마케팅팀"] = array("Eve", "Frank");
<!DOCTYPE html>
<html>
<body>
<h1>PHP 다차원 배열 출력 예제</h1>
<?php
$organization = array(
array("Alice", "Bob"),
array("Charlie", "David"),
array("Eve", "Frank")
);
echo "print_r() 함수 결과:<br><br>";
print_r($organization);
echo "<br><br>var_dump() 함수 결과:<br><br>";
var_dump($organization);
?>
</body>
</html>
다차원 배열은 데이터베이스 레코드, 테이블 구조, 계층적 데이터 등 복잡한 데이터 구조를 표현할 때 매우 유용합니다.
다음 글에서는 배열을 효율적으로 다루기 위한 내장 함수들을 살펴보겠습니다.