반응형

PHP를 공부할때 만나는 첫번째 산이 아마 배열이 아닐까 싶다. 쉽지 않지만 결코 피해갈순없다.

 

php에서 배열은 크게 두가지가 있다. 하나는 Array 배열이고 또 하나는 Object 배열이다. 

 

배열이란 하나의 변수에 여러가지의 값이 들어가 있는 것을 말한다.

 

일반적인 변수는 하나의 변수에 하나의 값이 들어 가는 것이 일반적이지만 

 

배열은 하나의 배열 변수에 여러개의 값이 들어간다. 

 

막 들어가는 것은 아니고 규칙이 있다. 아래 예문을 보자.

 

또하나 php의 배열은 배열의 방을 몇개 만들지 미리 선언하지 않아도 된다.

 

<?php

$arr1  = array(1,2,3,4,5,6);
$arr2  = array("하나","두울","셋","대여섯");
$arr3 = array("one"=>"첫번째", "two"=>"두번째", "three"=>"서너번째");

$arr4 = new stdClass();
$arr4->one = "첫번째";
$arr4->two = "두번째";

$arr5 = (object)$arr3;

echo "<pre>";

print_r($arr1);
print_r($arr2);
print_r($arr3);
print_r($arr4);
print_r($arr5);


?>

 

위 코드를 실행해보자.

 

Array
(
    [0] => 1
    [1] => 2
    [2] => 3
    [3] => 4
    [4] => 5
    [5] => 6
)
Array
(
    [0] => 하나
    [1] => 두울
    [2] => 셋
    [3] => 대여섯
)
Array
(
    [one] => 첫번째
    [two] => 두번째
    [three] => 서너번째
)
stdClass Object
(
    [one] => 첫번째
    [two] => 두번째
)
stdClass Object
(
    [one] => 첫번째
    [two] => 두번째
    [three] => 서너번째
)

 

$arr1과 $arr2는 key값이 없다. key값이 없고 단순히 값을 순서대로 입력했다.

 

$arr1이라고 하는 방이 여러개가 있는 변수가 있는데 거기에 값을 입력하니까 자동으로 첫번째 방인 0번방부터 5번방까지 순서대로 입력됐다.

 

두번째 $arr2도 마찬가지로 첫번째 방인 0부터 3까지 순서대로 입력됐다.

 

이렇게 php는 배열의 크기를 지정할 필요없이 규칙에 맞게 입력하기만 하면 자동으로 방이 생성된다. 

 

마지막 $arr3는 모양이 조금 다르다. 방 하나 하나를 미리 생성해 주고 그 방에 이름까지 입력했다.

 

그리고 그 방에 어떤값이 들어가는지를 하나하나 지정해 주었다.

 

이렇게 배열의 방 이름을 지정해 준걸 Key값이라고 한다.

 

$arr4를 보자. 모양이 조금 다르다. 이런식으로 키값을 지정하고 값을 입력해주는 방식으로 입력해주면 object(오브젝트) 배열이 된다.

 

출력된 결과값을 보면 stdClass Object 이렇게 object라고 알려주고 있다. 그 위의 배열들은 Array라고돼있다.

 

$arr5는 $arr3를 강제로 object로 변경했다. 잘 쓰지 않는 방식이지만 이렇게 쓰는 것도 가능하다.

 

 

반응형

+ Recent posts