wilson's story

PHP 배열 본문

PHP

PHP 배열

wilson 2007. 11. 3. 19:16
반응형

1. array() 함수

형식) Array Array(...)

Array Array("args1"=>"value1","args2"=>"value2",......)

기본적인 배열을 생성시키는 함수이다. 기본적으로 첨자는 생략이 가능하며 첨자를 생략할 경우 스칼라 배열로 생성된다. 한가지 주의할 점은 PHP에서는 다른 프로그래밍 언어와는 달리 2차원배열이라는것이 배열로 이루어진 배열을 의미한다. 다음을 한번 보도록 하자.

예) $test = array("arr1"=>array("a"=>"하나","b"=>"두울","c"=>"세엣"),"arr2"=>array("a"=>"네엣","b"=>"다섯"));

위의경우 $test["arr1"]이라는 배열은 $test["arr1"]["a"],$test["arr1"]["b"],$test["arr1"]["c"] 세개로 이루어진 배열이며 $test["arr2"]라는 배열은 $test["arr2"]["a"],$test["arr2"]["b"] 두개로 이루어진 배열이다.


2. list() 함수

형식) Void list(...)

변수를 배열인것처럼 만든다.

예) $test = array(7,"9","8","안녕하세요","환영합니다");

while (list($key,$val) = each($test)){

echo $key."=>".$val."

";

}

위의소스는 다음을 출력한다.

0=>7

1=>9

2=>8

3=>안녕하세요

4=>환영합니다


3. each() 함수

형식) Array each(Array array)

배열에서 다음 키 이름과 배열 값을 쌍으로 돌려준다. 이 쌍은 네개의 원소를 가진 배열로 반환되는데 이 네개의 원소의 키는 0, 1, key, value 이다. 0과 key원소는 각각변수의 키 이름을 가지고, 1과 value는 배열값을 갖는다.


4. array_count_values() 함수

형식) Array array_count_values(Array input)

동일한 배열의 값의 개수를 구한다. 동일한 배열의 개수를 합한 값을 그대로 배열로 리턴한다.

예) $test = array(1,"hello",1,"world","hello","hello");

$count = array_count_values($test);

위의예에서 $count 변수에는 다음과 같은 값이 저장된다.

$count[1] = 2

$count["hello"] = 3

$count["world"] = 1


4. array_keys() 함수

형식) Array array_keys(Array input, mixed [search_value])

배열의 키값(인덱스값)을 반환한다. 특정한 배열값의 키값을 리턴받을 수 있다.

예1) $test = array("a"=>"kim kihee","b"=>"i love you");

$test_key = array_keys($test);

위의예에서 $test_key[0]에는 "a"가 $test_key[1]에는 "b"가 할당된다.

예2) $test = array("a"=>"kim kihee","b"=>"i love you");

$test_key = array_keys($test,"i love you");

위의예에서 $test_key변수에는 "b"가 할당된다.


5. array_merge() 함수

형식) Array array_merge(Array array1, Array array2, ......)

두 개 이상의 배열을 하나의 배열로 합한다. 만약 합쳐질 배열들의 키값(인덱스값)이 서로 같으면, 뒤의 배열값으로 덮어씌운다.


6. array_reverse() 함수

형식) Array array_reverse(Array array)

원래 배열값을 역순으로 저장한다. 리턴되는 값은 역순으로 저장된 배열이다.


7. array_push() 함수

형식) Int array_push(Array array, mixed var, [...])

배열의 맨 뒤에 한개나 그 이상의 원소를 첨가한다.

예) $test = array(1,3);

array_push(3,4);

위의예는 $test라는 배열에 3, 4 두개의 요소를 첨가한다.


8. array_pop() 함수

형식) Mixed array_pop(Array array)

배열의 맨 뒤에 있는 원소를 꺼내고 그 원소를 삭제한다.

예) $test = array("kim","kihee","i love u");

$test_pop = array_pop($test);

위의예는 $test배열에서 마지막 요소인 "i love u"를 꺼내어 $test_pop이라는 변수에 할당하고 $test배열로 부터 "i love u"라는 값의 요소를 삭제한다.

9. array_unshift() 함수

형식) Int array_unshift(Array array, Mixed var, [......]);

배열의 맨 앞에 한개나 그 이상의 원소를 추가한다.


10. array_shift() 함수

형식) Mixed array_shift(Array array)

배열의 맨 앞에 있는 원소를 꺼내어 변수에 할당하고 그 원소를 배열로부터 삭제한다.


11. array_slice() 함수

형식) Array array_slice(Array array, Int offset, Int [length])

배열에서 일부의 요소를 추출한다.

offset : 배열에서 추출할 시작값을 지정하는것으로 양수인 경우 배열의 첫번째 원소에서 offset 값의 다음 배열원소부터 배열을 추출하며, 음수인경우 배열의 마지막 원소에서 offset값부터 배열을 추출한다.

length : 추출할 배열 원소의 개수를 지정한다. 만약 이 값이 음수이면 전체 배열의 끝에서부터 길이를 줄일 수 있다.


12. array_splice() 함수

형식) Array array_splice(Array input, Int offset, Int [length], Array [replacement])

배열의 일부를 삭제하고, 삭제한 위치에 다른 내용을 넣는다. 리턴값은 삭제된 배열 원소로 구성된 배열이다.

offset : 제거할 비율을 지정한다. 양수인 경우 배열의 처음 원소에서 음수인경우 배열의 마지막 원소에서 각각 그 값을 지정할 수 있다.

length : 생략 가능한 인자이며, 삭제될 배열의 크기를 지정한다.

replacement : 대체할 배열을 지정한다.


13. array_values() 함수

형식) Array array_values(Array input)

배열의 모든 값들을 스칼라 벼열로 변환하여 반환한다.


14. arsort() 함수

형식) Void arsort(Array array)

원래 가지고 있던 인덱스 값을 유지하면서 배열을 역순으로 정렬한다.


15. compact() 함수

형식) Array compact(String Varname | Array varname)

주어진 변수값을 가지고 배열을 만든다.

예) $test1 = "kim";

$test2 = "kihee";

$test4 = compact("test1","test2",$test3);

위의예에서 $test4에는 다음과 같은 값들이 배열로 저장된다.

$test4[test1] = "kim"

$test4[test2] = "kihee"


16. count() 함수

형식) Int count(Mixed var)

배열 변수의 원소 개수를 구한다. 리턴값으로 배열 요소의 개수를 반환하며 배열이 아닐 경우 1을, 배 벼열에 값이 없을 경우 0을 반환한다.


17. sizeof() 함수

형식) Int sizeof(Array array)

배열의 크기 즉, 원소의 개수를 구할 수 있다.


18. current() 함수

형식) Mixed current(Array array)

배열의 현재 원소를 돌려준다. current함수는 단순히 내부적인 포인터가 가르키고 있는 원소를 가르킨다. 만약 이 포인터가 원소 리스트의 범위를 넘어서 지시하고 있다면 current 함수는 false값을 반환한다. 주로 반복문에서 사용되지만 current()함수를 사용하는것보다 each()함수를 사용하는것이 더욱 안정적이다.


19. pos() 함수

형식) Mixed pos(Array array)

배열의 현재 원소를 리턴한다.


20. reset() 함수

형식) reset(Array array)

배열의 내부 포인터를 맨 처음 원소로 설정한다.


21. end() 함수

형식) end(Array array)

배열의 내부 포인터를 맨 마지막 배열 원소로 옮긴다.


22. key() 함수

형식) Mixed key(Array array)

배열에서 내부 포인터가 가리키고 있는 원소의 키값을 가져온다.


23. next() 함수

형식) Mixed next(Array array)

배열의 내부 포인터를 하나 전진시킨다.


24. prev() 함수

형식) Mixed prev(Array array)

배열의 내부 포인터를 하나 후진시킨다.


25. extract() 함수

형식) Void extract(Array var_array, Int [extract_type], String [prefix])

배열의 내용을 심볼 테이블로 읽어들여 일반적인 변수로 만든다. 배열에서 키 값은 변수명으로 배열값은 변수값으로 대치된다.

extract_type : 변수명이 충돌할 경우, 생성될 변수명을 지정하는 방식을 나타낸다.


EXTR_OVERWRITE : 변수명이 충돌할 경우, 생성될 변수명을 지정하는 방식을 정한다.

EXTR_SKIP : 변수명이 충돌할 경우, 기존의 선언된 변수를 덮어쓰지 않고 변수의 생성을 건너뛴다.

EXTR_PREFIX_SAME : 변수명이 충돌할 경우 'String [prefix]에 '_변수명'이 붙여진 변수값을 생성한다.

EXTR_PREFIX_ALL : 변수명이 충돌할 경우 'String [prefix]에 '_배열의 모든 키값'들이 덧붙여진 변수명 중에서 생성한다.


String [prefix] : 'EXTR_PREFIX_SAME'인자와 'EXTR_PREFIX_ALL' 인자를 사용한 경우 충돌한 변수에 접두어로 사용할 문자열 값을 지정한다.


26. in_array() 함수

형식) bool in_array(mixed needle, array kaystack)

배열에서 찾는 값이 있으면 true값을 없으면 false값을 반환한다.

mixed needle : 찾고자 하는 값

array haystack : 배열명


27. sort() 함수

형식) Void sort(Array array)

배열을 정렬한다.


28. ksort() 함수

형식) Void ksort(Array array)

배열을 키 순으로 정렬한다.


29. rsort() 함수

형식) Void rsort(Array array)

배열을 역순으로 정렬한다.

반응형