1차원 배열

배열 생성

$배열이름 = array();
$배열이름 = array(배열요소1, 배열요소2, ...);
$배열이름 = [];

인덱스에 대응하는 배열 요소가 없는 부분을 배열의 홀(hole)이라고 합니다.

홀(hole)을 가지는 배열에서는 for 문을 사용하면 모든 배열 요소에 접근할 수 없으므로 foreach문을 사용하도록 합니다.

2차원 배열

$arr = array( // 1차원 배열을 3개 갖는 2차원 배열 선언과 동시에 초기화
    array("apple", "korea", 1000),
    array("banana", "philippines", 2000),
    array("orange", "us", 1500)
);
$arr = array( // 1차원 배열을 3개 갖는 2차원 배열 선언
    array(),
    array(),
    array()
);

$arr[0][0] = "apple"; // 배열 요소 입력
$arr[0][1] = "korea";
$arr[0][2] = 1000;

$arr[1][0] = "banana";
$arr[1][1] = "philippines";
$arr[1][2] = 2000;

$arr[2][0] = "orange";
$arr[2][1] = "us";
$arr[2][2] = 1500;

echo $arr[0][0].", ".$arr[0][1].", ".$arr[0][2]."<br>";
echo $arr[1][0].", ".$arr[1][1].", ".$arr[1][2]."<br>";
echo $arr[2][0].", ".$arr[2][1].", ".$arr[2][2]";

연관 배열(associative array)

PHP에서는 숫자뿐만 아니라 문자열도 배열 요소의 인덱스로 사용할 수 있습니다.

만약 정수와 문자열 이외에 다른 타입의 값을 키값으로 사용하면, 내부적으로 정수와 문자열로 타입 변환이 이루어집니다.

연관 배열은 이처럼 배열의 인덱스를 정수뿐만이 아닌 다양한 타입으로 설정한 배열을 의미합니다.

$배열이름 = array("키1" => 값1, "키2" => 값2, ...);

연관 배열의 인덱스는 숫자가 아니므로, for 문을 사용하여 배열 요소에 접근할 수 없습니다.

대신에 foreach 문을이나 each() 함수(deprecated)를 사용하여 접근해야 합니다.