php 배열

Language/PHP 2010. 4. 27. 09:39

◆ 배열
변수는 기본적으로 1 개의 값만 할당할 수없습니다. 그러나 프로그램을 개발해 나가는 가운데 여러 값을 가진 변수가 필요하게되어있습니다.
다른 언어에서도 보이는 것과 같이, PHP 1 개의 변수에 여러 개의 값을 가질 수있습니다. 그것을 "배열"이라고합니다.

 

■ 배열 array
JavaScript나 Perl 언어에서 볼 수있는 배열과 마찬가지로, PHP 배열을 설정할 수있습니다.
예를 들면 가장 간단한 배열 방법은
 <?php
   $fruit[] = "APPLE";
   $fruit[] = "ORANGE";
   $fruit[] = "GRAPE";
  ?>
이와 같이 [ ] 설정하면, $fruit[0] 「APPLE」 문자열이 입력되며 $fruit[1] 「ORANGE」 할당됩니다.
이러한 배열하는 방법이기도 하지만, 배열해야 값이 많다면 작성하는 것도 어려워집니다.
(배열 인덱스의 시작은 항상 "0"입니다.)

■ array() 함수

다중 값 (인덱스)를 1 개의 변수에 저장하려면, array() 함수를 사용하면 손쉽게 배열을 설정할 수있습니다.
 <?php
   $fruit = array("APPLE", "ORANGE", "GRAPE", "STRAWBERRY", "BANANA");
 ?>
이렇게하면 임의의 값을 가질 수있습니다. 예를 들면, 「ORANGE」 값을 원하는 경우에는 $fruit[1] 라고 하면 됩니다.
 <?php
   $fruit = array("APPLE", "ORANGE", "GRAPE", "STRAWBERRY", "BANANA");
    print($fruit[1]);
 ?>
스크립트 실행 결과는 다음과 같습니다.
배열 중에서 1 개만 값을 검색 표시하고있습니다.
배열은 얼마든지 어떠한 형태이든 담을 수 있어 스크립트를 단순화합니다. 배열된 값은 필요할 때 필요한 분을 분리하여 계산이나 다른 스크립트에 응용할 수있습니다.

 

■ explode() 함수
인덱스 구분 기호를 기준으로 배열하는 것이 explode() 함수입니다. 이것은 인덱스 문자열의 각 항목으로 변수에 저장됩니다.
 <?php
   $fruit = explode(",", "APPLE,ORANGE,GRAPE,STRAWBERRY,BANANA");
    print($fruit[3]);
 ?>
예제 코드를 보면 알다시피 인덱스 문자열을 쉼표로 구분되며, 그 구분 기호를 선두로 지정합니다. 이렇게해서, 1 개의 문자열로 인덱스를 원하는만큼 설정할 수 있습니다.
스크립트 실행 결과는 다음과 같습니다.
expode() 함수에서 지정한 값 4 번째 인덱스를 빼내 표시하고 있는 샘플입니다.
일반적으로, array() 함수를 사용하는 경우가 많습니다만, expode() 함수를 편리하게 사용할 수 있습니다. 게다가 구분 기호는 임의로 지정할 수 있습니다.


■ 연상 배열
여기까지 문자열을 중심으로 배열에 대해 설명했습니다. 인덱스가 문자열 배열의 경우를 연상배열이라고 합니다. 물론 배열에는 숫자도 가능합니다.
연관 배열은 인덱스에 문자열을 할당하고 있기 때문에, 루프를 사용하는 경우 일반 배열과 같이 첨자를 사용하여 해당 값을 참조할 수 없습니다.
따라서 list()와 each() 함수를 사용하여 동일하게 작동할 수 있습니다.
<?php
  $fruit = array("Apple" => "사과", "Orange" => "오렌지", "Grape" => "포도");
    while(list ($key, $val) = each($fruit)) {
      print ( "인덱스 $ key에는 $ val입니다 <br> \ n");
     } )
?>
이 스크립트는 each() 함수를 사용하여 연관 배열 $fruit 값을 하위 배열로 반환합니다.
list() 함수는 변수 $key $val 출력값을 할당합니다. 여기서 Key는 =>를 사용합니다.

'Language > PHP' 카테고리의 다른 글

date() 함수 포맷  (0) 2010.04.30
@의 역할  (0) 2010.04.27
PHP - $_SERVER 함수  (1) 2010.04.22
get_magic_quotes_gpc()  (0) 2010.04.07
PHP 함수  (0) 2010.04.06
: