PHP

22. PHP 다차원배열

drizzle0925 2021. 3. 6. 11:29
728x90

다차원 배열(multidmensional array)

다차원 배열은 2차원 이상의 배열을 의미하며, 배열 요소로 또 다른 배열을 사용한다.

2차원 배열을 이해하면 다양한 다차원 배열을 사용할 수 있다.


2차원 배열

2차원 배열이란 배열 요소로 또 다른 1차원 배열을 사용하는 배열의 의미한다.

 

2차원 배열은 다음과 같은 문법으로 선언된다.

 

1
2
3
4
$배열이름 = array(
        array(),
        array(),
);
cs

 

1
2
3
4
5
6
7
<?php 
    $fruit = array(
        "딸기",
        array("사과"),
        array("바나나"),
    );
?>
cs

 

2차원 배열은 1차원 배열과 같이 array() 함수를 사용해서 선언한다.

1차원 배열과 다른 점은 array() 함수를 한 번 더 사용하여, 배열 요소에 또 다른 1차원 배열을 생성한다는 점이다.

 

2차원 배열은 행과 열을 가진 행렬과 같은 모양으로 구성된다.

1차원 배열의 개수만큼 행의 수가 늘어나고, 열의 수는 각 1차원 배열의 배열 요소 개수로 정해진다.


2차원 배열 요소 입력

2차원 배열도 배열 요소에 접근하기 위해서는 인덱스를 사용해야 한다.

2차원 배열에 속한 요소에 접근할 때는 [] 연산자를 두 번 사용하면 된다.

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
<?php 
    $fruit = array(
        array(),
        array(),
    );
 
    $fruit[0][0= "사과";
    $fruit[0][1= "한국";
    $fruit[0][2= 1000;
 
    $fruit[1][0= "바나나";
    $fruit[1][1= "태국";
    $fruit[1][2= 500;
 
    echo $fruit[0][0]."<br>";
    echo $fruit[0][1]."<br>";
    echo $fruit[0][2]."<br><br>";
 
    echo $fruit[1][0]."<br>";
    echo $fruit[1][1]."<br>";
    echo $fruit[1][2]."<br>";
?>
cs

 

1차원 배열과 마찬가지로 2차원 배열도 생성하며 동시에 배열 요소를 초기화할 수 있다.

다음은 예제와 앞 예제와 동일 코드이다.

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
<?php 
    $fruit = array(
        array("사과","한국",1000),
        array("바나나","태국",500),
    );
 
    echo $fruit[0][0]."<br>";
    echo $fruit[0][1]."<br>";
    echo $fruit[0][2]."<br><br>";
 
    echo $fruit[1][0]."<br>";
    echo $fruit[1][1]."<br>";
    echo $fruit[1][2]."<br>";
?>
cs

 

위의 동일한 방법으로 배열에 array()를 계속해서 생성해주면 3차원, 4차원, 5차원, 다차원의 배열을 생성할 수 있다.


루프를 이용한 2차원 배열로의 접근

2차원 배열도 1차원 배열과 마찬가지로 반복문을 이용하여 배열 요소에 접근할 수 있다.

1차원 배열과 다른점이 있다면 반복문 안에 또 반복문을 작성해야 되는 점이다.

 

1
2
3
4
5
6
7
8
9
10
11
12
<?php 
    $fruit = array(
        array("사과","한국",1000),
        array("바나나","태국",500),
    );
 
    for($i=0$i<count($fruit); $i++){
        for($j=0$j<count($fruit[$i]); $j++){
            echo $fruit[$i][$j]."<br>";
        }
    }
?>
cs

 

3차원 배열에 접근할 때는 반복문이 3개, 4차원에 접근할 때는 반복문이 4개 이런 식으로 반복문이 늘어나게 된다.

 

728x90