Bitaholic

PHP 배열 사용하기 본문

Computer/PHP

PHP 배열 사용하기

Bitaholic 2006. 11. 18. 03:31

1. 연관배열 : PHP에서는 C와 Java와 같이 숫자를 index(or key)로 사용하는 배열 외에연관배열(associative array)를 지원한다.

 - 연관배열(associative array) : index로 어떤 뭐든지 사용할 수 있다(보통 문자열을 사용)

 

 

2. 배열 초기화 하기(숫자 인덱스 배열 : 즉 보통 배열)

  

     $products = array('Tires', 'Oil', 'Spark Plugs');

 

       --> $products라는 크기가 3인 배열을 만들어 초기값으로 위의 값을 준다.

 

     $numbers = range(1,10);  // 1에서 10까지의 값을 갖는 배열 초기화 방법

 

     $letters = range('a', 'z'); // 문자도 사용할 수 있다.

 

 

3. PHP는 배열을 추가하면 동적으로 배열이 늘어난다.

  

    $products[3] = 'Fuses';//크기가 3인 products배열을 크기 4로 동적으로 늘려준다.

 

    $new_array[0] = '1';  // new_array가 선언안되어있었으면 이때 생성이 된다.

    $new_array[1] = '2';

    $new_array[2] = '3'; 

     

 

4. foreach문

   : 배열을 위해 특별히 만들어진 루프

 

    foreach($products as $current)

        echo $current.' ';

 

 

5. 연관배열(Associative Array)

   : index를 숫자가 아닌 값을 이용하는 배열

 

  선언 :  $prices = array( 'Tires'=>100, 'Oil'=>10, 'Spark Plugs'=>4);  // key => value

  참조 :  $prices['Tires']; 정해진 키를 이용한다.

 

 

6. 연관배열의 foreach문, each문

 

   foreach($prices as $key => $value)

      echo $key.'=>'.$value.'<br/>';

 

   //숫자인덱스 배열처럼 사용할 수도 있다.

  

   while($element = each($prices)) //echo를 호출하면 배열의 값과 그에 따른 인덱스를 배열로

   {                                             // 리턴한다.

      echo $element[ 'key' ];    // element[0] 으로도 사용 할 수 있다.

      echo ' - ';

      echo $element[ 'value' ]; // element[1] 로도 사용할 수 있다.

      echo '</br>';

   }

 

  echo(): 인자로 들어간 배열의 현재 요소를 리턴한고 다음 요소를 현재 요소로 가르킨다.

 

 

7. list()

   : 배열을 저장된 값만큼 분할 한다.

  

     $list( $product, $price ) = each( $prices );

 

     즉

 

     while( list( $product, $price ) = each( $prices ))  //바로 위의 예제와 동일하다.

        echo "$product - $price<br />";

 

8. reset(): 배열의 요소를 가르키는 포인터를 0으로 돌려놓는다.

   : each()를 이용하다가 처음 부터 배열을 탐색하고 싶을 때 사용한다.

 

 

9. 배열 연산자.

   +    :   $a + $b    : $a배열 뒤에 $b배열을 붙인다 키가 충돌하면 더해지지 않는다.

   ==   :   $a ==$b   : $a, $b 가 같은 요소를 가지고 있으면 true를 리턴

   === :   $a === $b : $a, $b가 같은요소를 동일한 순서로 같고 있으면 true 리턴

   !=   :   $a != $b   : $a, $b가 같은 요소를 포함 하지 않으면 true 리턴

   <> :   $a <> $b  : 위와 동일

   !== :   $a !== $b  : $a, $b가 같은 요소를 같은 순서로 포함하지 않으면 true 리턴

 

 

10. 배열 정렬하기

 

    A. sort()

 

          $products = array('Tires', 'Oil', 'Spark Plugs');

          sort($products);// 알파벳 순으로 정렬

          $prices = array(100, 10, 4);

          sort($prices);// 오름차순으로 정렬

 

    B. asort(), ksort()  : 연관 배열 정렬하기

 

          $products = array( 'Tires'=>100, 'Oil'=>10, 'Spark Plugs'=>4);

          asort($products);// 값을 기준으로 오름차순으로 정렬한다.

          ksort($products); // 키를  기준으로 오름차순으로 정렬한다.

 

 

    C. 역순으로 정렬하기

         sort()    <>    rsort()

         asort()  <>    arsort()

         ksort()  <>    krsort(0

 

 

11. 배열의 크기 알아오기

 

     count($array); // 배열의 크기를 돌려준다

 

    

 

 

 

  

   

 

 

 

참조 : 성공적인 웹 프로그래밍 PHP와 MySQL (정보문화사)

 

 

 

Comments