본문 바로가기

A.P.M Tip

[PHP] php 일차원 배열

<== 시간 나시면 공지사항 한번 읽어 주세요.

PHP에서 배열은 두 가지가 있다. 하나는 배열의 각 원소가 하나의 값을 원소로 갖는
스칼라 배열(scalar array)이고 다르 ㄴ하나는 배열의 각 원소가 자신의 카(key)와 값(value)을 함께 가지는 연관 배열 (accociative array)이 있다.

스칼라 배열의 경우 각 배열의 참조 변호를 통해서 즉 인덱스를 통해서 각 배열 값에 접근할 수 있지만 연관 배열은 각각의 키 값을 통해서 원하는 값에 접근할 수 있다. 이는 펄에서 다루는 연관 배열(hash)과 같은 의미이다. 하지만 사실 두 가지 배열의 큰 차이는 없다. 일반적으로 배열의 값을 지정할 때는 다음과 같이 할 수 있다. 인덱스 값은 C나 펄 처럼 0부터 시작한다.

$a[0] = "spring";l
$a[1] = "summer";
$a[2] = "fall";
$a[3] = "winter";

참조 번호를 명시하지 않더라도 값을 지정하는 순서에 따라 자동으로 배열에 값을 추가 할 수 있다. 위 예제는 다음과 같이 표현할 수도 있다.

$a[] = "spring";
$a[] = "summere";
$a[] = "fall";
$a[] = "winter";

위의 예를 list()나 array() 함수를 사용해서 배열을 만들수도 있다. 다음 예 역시 위의 두 가지 경우와 서로 같다.

$a = array("spring","summer","fall","winter");

이제는 연관 배열에 대해서 살펴보도록 하겠다. 위의 모든 예제는 0 부터 3까지의 숫자를 배열의 인덱스 값으로 사용했다. 이제는 "spring,summer,fall,winter"를 인덱스로 사용하고자 한다. 다음과 같이 연관 배열을 만들 수 있다.

$a = array("spring"=>봄,"summer"=>여름,"fall"=>가을,"winter"=>겨울);

배열의 인덱스 값으로 "spring,summer,fall,winter" 를 사용할 수 있다.

<?php

$a = array("spring"=>봄,"summer"=>여름,"fall"=>가을,"winter"=>겨울);

echo ("\$a[spring] = $a[spring]<br>");
echo ("\$a[summer] = $a[summer]<br>");
echo ("\$a[fall] = $a[fall]<br>");
echo ("\$a[winter] = $a[winter]<br>");

?>

결과값

$a[spring] = 봄
$a[summer] = 여름
$a[fall] = 가을
$a[winter] = 겨울

배열은 count() 함수를 이용해서 배열 요소의 개수를 알아 낼 수 있고 asort(), arsort(), ksort(), sort(), usort(), uksort() 함수들을 이용해 순서대로 정렬 할 수 도 있다.
prev(),next()를 통해서 배열을 탐색할 수 있고 each()를 이용할 수도 있다.


'A.P.M Tip' 카테고리의 다른 글

[PHP]양력음력변환  (0) 2012.05.24
[PHP] php abs 함수  (0) 2012.04.27
[PHP] php 문자열 변환  (0) 2012.02.21
[PHP] php 정수형,실수형,문자열  (0) 2012.02.20
[PHP] php 형변환  (0) 2012.02.20