사이트 내 전체검색
PHP
배열 (Arrays)
로빈아빠
https://cmd.kr/php/183 URL이 복사되었습니다.

본문

배열을 실제로 hash tables (associative arrays) 과 indexed arrays (vectors)의 두가지로 동시에 사용된다.

--------------------------------------------------------------------------------

일차원 배열 (Single Dimension Arrays)
PHP는 scalar 배열과 associative 배열의 두 가지를 지원한다. 사실 두 가지의 차이는 없다. 여러분은 list()나 array() 함수를 사용하여 배열을 만들거나, 각 원소의 값을 정해 주어 배열을 만들 수 있다.

  1 
  2 $a[0] = "abc";
  3 $a[1] = "def";
  4 $b["foo"] = 13;
  5     
 

또한 다음과 같이 변수에 값을 더해주는 것만으로 배열을 만들 수도 있다.

  1 
  2 $a[] = "hello"; // $a[2] == "hello"
  3 $a[] = "world"; // $a[3] == "world"
  4     
 

배열은 정렬을 원하는 형식에 따라 asort(), arsort(), ksort(), rsort(), sort(), uasort(), usort(), uksort() 함수들을 이용해 순서대로 정렬할 수 있다.

count() 함수를 사용하면 배열의 원소 개수를 셀 수 있다.

next()와 prev() 함수를 이용하여 배열의 내용을 탐색할 수 있다. 배열의 내용을 탐색하는 방법으로 each() 함수를 사용할 수도 있다.


--------------------------------------------------------------------------------

다차원 배열 (Multi-Dimensional Arrays)
다차원 배열이라 하더라도 실제로 매우 간단한다. 배열의 각 차원에 대하여 단지 [key]값을 뒤어 붙여주면 된다.

  1 
  2 $a[1]      = $f;              # one dimensional examples
  3 $a["foo"]  = $f; 
  4
  5 $a[1][0]    = $f;            # two dimensional
  6 $a["foo"][2] = $f;            # (you can mix numeric and associative indices)
  7 $a[3]["bar"] = $f;            # (you can mix numeric and associative indices)
  8
  9 $a["foo"][4]["bar"][0] = $f;  # four dimensional!
 10     
 

PHP3에서, 문자열 내에서 다차원 배열의 값을 직접 접근하는 것은 불가능하다. 예를들어 다음과 같은 문장은 원하는 결과를 얻지 못할 것이다.

  1 
  2 $a[3]['bar'] = 'Bob';
  3 echo "This won't work: $a[3][bar]";
  4     
 

PHP3에서 위의 출력은 won't work: Array[bar] 일 것이다. 원하는 결과를 얻으려면 문자열 연결 연산자(.)를 사용하여야 할 것이다.

  1
  2 $a[3]['bar'] = 'Bob';
  3 echo "This will work: " . $a[3][bar];
  4     
 

PHP4에서는 접근하려는 배열식을 중괄호({})로 둘러쌈으로써 이것을 가능하게 할 수도 있다.

  1
  2 $a[3]['bar'] = 'Bob';
  3 echo "This will work: {$a[3][bar]}";
  4     
 

여러 가지 방법으로 이 다차원 배열에 값을 넣을 수 있으나, associative 배열에 값을 저장하는 간단한 방법으로 array() 명령을 사용하는 방법이 있다. 우선 다음의 두가지 코드는 일차원 배열에 값을 저장하는 방법으로 결과는 동일하다.

  1 
  2 # Example 1:
  3
  4 $a["color"]      = "red";
  5 $a["taste"]        = "sweet";
  6 $a["shape"]    = "round";
  7 $a["name"]      = "apple";
  8 $a[3]                              = 4;
  9
 10 # Example 2:
 11 $a = array(
 12      "color" => "red",
 13      "taste" => "sweet",
 14      "shape" => "round",
 15      "name"  => "apple",
 16      3      => 4
 17 );
 18     
 

array() 함수는 다차원 배열에 대해서도 다음과 같이 사용할 수 있다. :

  1 
  2 <?
  3 $a = array(
  4      "apple"  => array(
  5          "color"  => "red",
  6          "taste"  => "sweet",
  7          "shape"  => "round"
  8      ),
  9      "orange"  => array(
 10          "color"  => "orange",
 11          "taste"  => "tart",
 12          "shape"  => "round"
 13      ),
 14      "banana"  => array(
 15          "color"  => "yellow",
 16          "taste"  => "paste-y",
 17          "shape"  => "banana-shaped"
 18      )
 19 );
 20
 21 echo $a["apple"]["taste"];    # will output "sweet"
 22 ?>
 23

출처 : http://qdata.co.kr/bo/bbs/board.php?bo_table=pht&wr_id=21

댓글목록

등록된 댓글이 없습니다.

PHP
871 (16/18P)

Search

Copyright © Cmd 명령어 18.224.30.113