배열 생성
$배열이름 = array();
$배열이름 = array(배열요소1, 배열요소2, ...);
$배열이름 = [];
인덱스에 대응하는 배열 요소가 없는 부분을 배열의 홀(hole)이라고 합니다.
홀(hole)을 가지는 배열에서는 for 문을 사용하면 모든 배열 요소에 접근할 수 없으므로 foreach문을 사용하도록 합니다.
$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]";
PHP에서는 숫자뿐만 아니라 문자열도 배열 요소의 인덱스로 사용할 수 있습니다.
만약 정수와 문자열 이외에 다른 타입의 값을 키값으로 사용하면, 내부적으로 정수와 문자열로 타입 변환이 이루어집니다.
연관 배열은 이처럼 배열의 인덱스를 정수뿐만이 아닌 다양한 타입으로 설정한 배열을 의미합니다.
$배열이름 = array("키1" => 값1, "키2" => 값2, ...);
연관 배열의 인덱스는 숫자가 아니므로, for 문을 사용하여 배열 요소에 접근할 수 없습니다.
대신에 foreach 문을이나 each() 함수(deprecated)를 사용하여 접근해야 합니다.