PHP 배열 완벽 가이드

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");

예를 들어, 회사를 운영한다고 가정해봅시다. 직원들은 각자 자신이 속한 회사 이름을 밝혀야 합니다. 회사 이름 자체는 하나의 변수이지만, 그 안에 속한 직원들은 배열의 요소가 됩니다.

배열 출력

일반 변수와 달리 배열은 echoprint로 직접 출력할 수 없습니다. 대신 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>

다차원 배열은 데이터베이스 레코드, 테이블 구조, 계층적 데이터 등 복잡한 데이터 구조를 표현할 때 매우 유용합니다.

다음 글에서는 배열을 효율적으로 다루기 위한 내장 함수들을 살펴보겠습니다.

태그: PHP 배열 수치배열 연관배열 다차원배열

7월 22일 17:20에 게시됨