PHP 배열 정리

PHP 2012. 2. 3. 11:40
1. 일반 배열

 array()


PHP에서 배열은 array() 함수를 통해 저장할 수 있습니다. 배열이 저장된 배열변수는 foreach나 []안의 index를 통하여 접근이 가능합니다.

array()함수는 내부에 array()함수가 중복해서 존재하는 경우 다차원배열로 처리하게 됩니다. 예를 들어 2차원 배열을 사용하고자 한다면


이와 같이 array()내부에 다시 array()를 작성하여 요소를 배열하고 [][]내부에 index를 지정해 해당 차원을 배열로 접근하면 됩니다.

 array_diff()


array_diff()함수는 첫번째 배열과 두번째 배열을 비교하여 두 배열이 다른 부분을 첫번째 배열의 기준으로 반환하는 함수입니다.


 sort()

배열을 순차적으로 정렬하는 함수입니다.


sort() 함수는 반환값이 아닌 함수 내부에서 해당 배열을 재정렬합니다.

 natsort()

sort()는 한가지 문제가 있습니다. 다음 예제에서


AAA1, AAA2, AAA11 처럼 뒤의 정수크기만큼 순차적으로 정렬하기 위해 sort 함수를 사용하였습니다.


정렬 결과는 AAA1, AAA11 식으로 나열되었는데 sort()함수로는 원하는 결과를 얻을 수 없습니다. php는 이를 대체하기 위해 natsort()라는 함수를 마련하였습니다.


함수의 사용방법은 완전히 동일하지만 결과는 달라집니다.

 var_dump()

key가 있고 값이 있는 배열이 복잡하게 구현된 경우 한눈에 모든 배열을 확인하고 싶을 때가 있습니다. 이런 경우 for나 foreach대신 var_dump()함수를 사용하게 되면 배열의 모든 값을 확인해 볼 수 있습니다.



 unset()

배열을 삭제하는 함수입니다.


배열에서 삭제하길 원하는 index나 키를 지정하면 해당 배열요소는 배열에서 삭제됩니다.


2. 연상 배열

일반배열은 각 요소의 값을 가져오기 위해 []안에 index로 구분해야 했습니다. 하지만 연상배열은 index로 숫자를 사용하는 대신 문자를 사용하여 각 요소의 값을 읽어올 수 있도록 합니다.


연상배열은 "Key" => "Array" 형태로 사용하며 앞의 문자(혹은 문자열)가 Key가 되고 뒤의 내용이 실제 배열에 사용될 Data가 됩니다. 이렇게 배열을 작성하고 나면 Key로 정한 문자열을 사용하는 것만으로 배열을 내용을 가져올 수 있게 됩니다.

물론 연상배열에도 다차원 배열사용이 가능합니다.


 is_array()

특정배열이 연상배열인지를 확인하는 함수 입니다.


결과는 true인데 만약 $arry가 일반 배열이라면 결과는 false가 됩니다.

이 함수는 특정 값이 배열에 있는가를 판단할 수도 있는데 첫번째 parameter에 배열을 두번째 parameter에 값을 사용하여 함수를 호출하면 배열안에 값이 존재할때 true를 없을때 false를 반환하게 됩니다.

 asort()

연상배열에서 값을 기준으로 정렬하는 함수입니다.

▶ array(3) { ["C"]=> string(3) "AAA" ["A"]=> string(3) "BBB" ["B"]=> string(3) "CCC" }

 arsort()

연상배열에서 값을 기준으로 역순하는 함수입니다.

▶ array(3) { ["B"]=> string(3) "CCC" ["A"]=> string(3) "BBB" ["C"]=> string(3) "AAA" }

 ksort()

연상배열에서 Key값을 기준으로 정렬하는 함수입니다.

▶ array(3) { ["A"]=> string(3) "BBB" ["B"]=> string(3) "CCC" ["C"]=> string(3) "AAA" }

 krsort()

연상배열에서 Key값을 기준으로 역순하는 함수입니다.

▶ array(3) { ["C"]=> string(3) "AAA" ["B"]=> string(3) "CCC" ["A"]=> string(3) "BBB" }


http://lab.cliel.com/494 펌

'PHP' 카테고리의 다른 글

PHP file 정리  (0) 2012.03.30
PHP DATE 정리~  (0) 2012.02.08
PHP JSON 처리  (0) 2012.02.02
PHP $_SERVER 정의  (0) 2012.01.31
PHP 문자열 함수  (0) 2012.01.17
블로그 이미지

스마트전

,