배열 (Arrays)
로빈아빠
본문
배열을 실제로 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
--------------------------------------------------------------------------------
일차원 배열 (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
관련링크
댓글목록
등록된 댓글이 없습니다.