[php] 배열관련 함수 updated_at: 2024-12-15 04:04

배열관련 함수

이 함수는 다양한 방법으로 배열을 다루고, 상호작용할 수 있게 해 준다. 배열은 변수들의 집합을 소팅, 처리, 조정하는데 필수적이다.
일차원및 다차원 배열의 사용이 가능하며, 사용자나 다른 함수로 부터 생성될 수 있다.
데이터베이스의 쿼리문으로 부터 배열의 생성을 위한 몇몇 특별한 데이터베이스 핸들링 함수가 있고 몇몇 함수들은 리턴값으로 배열을 반환한다.

is_array(), explode(), implode(), split() 그리고 join()을 참조하라.

  • array_change_key_case -- Returns an array with all string keys lowercased or uppercased
  • array_chunk -- Split an array into chunks
  • array_count_values -- 배열 값의 수를 센다.
  • array_diff_assoc -- Computes the difference of arrays with additional index check
  • array_diff -- 배열의 차이을 계산한다.
  • array_fill -- Fill an array with values
  • array_filter -- Filters elements of an array using a callback function
  • array_flip -- Flip all the values of an array
  • array_intersect_assoc -- Computes the intersection of arrays with additional index check
  • array_intersect -- 배열의 중복을 계산한다.
  • array_key_exists -- Checks if the given key or index exists in the array
  • array_keys -- 배열의 모든 키값을 반환한다.
  • array_map -- Applies the callback to the elements of the given arrays
  • array_merge_recursive -- 재귀적으로 두개 혹은 그 이상의 배열을 병합한다.
  • array_merge -- 두개 혹은 그 이상의 배열을 병합한다.
  • array_multisort -- 여러개의 배열 혹은 다차원 배열을 정렬한다.
  • array_pad -- 주어진 값의 길이만큼 배열을 채운다
  • array_pop -- 배열 끝의 요소를 뽑아낸다.
  • array_push -- 배열 끝에 하나 혹은 그 이상의 원소를 넣는다.
  • array_rand -- 배열에서 하나 혹은 그 이상의 임의의 원소를 가져온다.
  • array_reduce -- Iteratively reduce the array to a single value using a callback function
  • array_reverse -- 각 엘리먼트를 역순으로 정렬한 배열을 반환한다.
  • array_search -- Searches the array for a given value and returns the corresponding key if successful
  • array_shift -- 배열의 맨 앞에 있는 원소를 꺼내고 그 원소를 삭제한다
  • array_slice -- 배열의 일부를 추출한다.
  • array_splice -- 배열의 일부를 삭제하고, 그 위치에 다른 내용을 끼워 넣는다.
  • array_sum -- Calculate the sum of values in an array.
  • array_unique -- 배열로부터 중복된 값을 제거한다.
  • array_unshift -- 배열의 맨 앞에 한 개나 그 이상의 원소를 첨가한다.
  • array_values -- 배열의 모든 값들을 반환한다.
  • array_walk -- 배열의 개개의 원소에 특정 함수를 적용하여 수행한다.
  • array -- 배열을 생성한다
  • arsort -- 배열을 역순으로 정렬하고 인덱스의 상관관계를 유지한다.
  • asort -- 배열을 정렬하고 index association을 유지한다.
  • compact -- 주어진 여러 변수의 이름과 값을 가지는 배열을 만든다.
  • count -- 배열 변수의 원소 개수를 구한다.
  • current -- 배열의 현재 원소를 돌려준다
  • each -- 배열로부터 다음원소의 키와 값 쌍을 반환한다. Return the next key and value pair from an array
  • end -- Set the internal pointer of an array to its last element
  • extract -- Import variables into the symbol table from an array
  • in_array -- Return TRUE if a value exists in an array
  • key -- Fetch a key from an associative array
  • krsort -- Sort an array by key in reverse order
  • ksort -- Sort an array by key
  • list -- Assign variables as if they were an array
  • natcasesort -- Sort an array using a case insensitive "natural order" algorithm
  • natsort -- Sort an array using a "natural order" algorithm
  • next -- Advance the internal array pointer of an array
  • pos -- Get the current element from an array
  • prev -- Rewind the internal array pointer
  • range -- Create an array containing a range of integers
  • reset -- Set the internal pointer of an array to its first element
  • rsort -- Sort an array in reverse order
  • shuffle -- Shuffle an array
  • sizeof -- Get the number of elements in an array
  • sort -- Sort an array
  • uasort -- Sort an array with a user-defined comparison function and maintain index association
  • uksort -- Sort an array by keys using a user-defined comparison function
  • usort -- Sort an array by values using a user-defined comparison function

배열에 값을 넣거나 뺄때 사용하는 함수

array_fill(0, 12, '');

배열 생성시 기본값을 채운다.

$arr = array_fill(0, 12, '');
// 0번째부터 12개의 인자값에 '' 을 채운 배열 생성

array_shift

배열에서 첫번째 인자값을 삭제하고 그 값을 리턴한다.

$arr = ['apple', 'banana', 'mango', 'cherry', 'lemon'];
$v = array_shift($arr);

## 결과
$v: apple
$arr: ['banana', 'mango', 'cherry', 'lemon'];

array_pop

배열의 마지막 인자값을 삭제하고 그 값을 리턴한다.

$arr = ['apple', 'banana', 'mango', 'cherry', 'lemon'];
$v = array_pop($arr);

## 결과
$v: lemon
$arr: ['apple', 'banana', 'mango', 'cherry'];

array_unshift

배열의 처음에 값을 넣는다.

$arr = ['apple', 'banana', 'mango', 'cherry', 'lemon'];
array_unshift($arr, 'strawberry');

## 결과
$arr: ['strawberry', 'apple', 'banana', 'mango', 'cherry', 'lemon'];

array_push

배열의 마지막에 값을 넣는다.

$arr = ['apple', 'banana', 'mango', 'cherry', 'lemon'];
array_push($arr, 'strawberry');

## 결과
$arr: ['apple', 'banana', 'mango', 'cherry', 'lemon', 'strawberry'];

배열을 합칠때 사용하는 함수

array_merge

두개 혹은 그 이상의 배열을 병합한다.
즉 키값이 동일하면 뒤에 오는 배열이 overwrite 된다.

$arr1 = ['a'=>'aa', 'b'=>'bb'];
$arr2 = ['d'=>'dd', 'e'=>'ee','b'=>'bbb'];
array_merge($arr1, $arr2);

## 결과
['a'=>'aa', 'b'=>'bbb', 'd'=>'dd', 'e'=>'ee']
$arr1 = ['a'=>['a1'=>'a11', 'a2'=>'a22', 'a4'=>'a44'], 'b'=>'bb'];
$arr2 = ['d'=>'dd', 'e'=>'ee','a'=>['a1'=>'a111', 'a2'=>'a223', 'a3'=>'a333']];
array_merge($arr1, $arr2);

## 결과
['a'=>['a1'=>'a111', 'a2'=>'a223', 'a3'=>'a333'], 'd'=>'dd', 'e'=>'ee']

array_merge_recursive

재귀적으로 두개 혹은 그 이상의 배열을 병합한다. 즉 키값이 동일하면 새로운 배열(sub demension) 이 생성된다..

$arr1 = ['a'=>'aa', 'b'=>'bb'];
$arr2 = ['d'=>'dd', 'e'=>'ee','b'=>'bbb'];
array_merge_recursive($arr1, $arr2);

## 결과
['a'=>'aa', 'b'=>['bb', 'bbb'], 'd'=>'dd', 'e'=>'ee']

array_replace_recursive

키값이 동일하면 overwrite 되는데 sub demension까지 처리한다.

$arr1 = ['a'=>['a1'=>'a11', 'a2'=>'a22', 'a4'=>'a44'], 'b'=>'bb'];
$arr2 = ['d'=>'dd', 'e'=>'ee','a'=>['a1'=>'a111', 'a2'=>'a223', 'a3'=>'a333']];
array_replace_recursive($arr1, $arr2);

## 결과
['a'=>['a1'=>'a111', 'a2'=>'a223', 'a3'=>'a333'], 'd'=>'dd', 'e'=>'ee']

array_replace

특정 키값이 주어질때는 array_merge 와 동일하다.
하지만 키값이 주어지지 않을때는 차이가 난다.

$arr1 = ['a'=>'a11', 'b'=>'bb'];
$arr2 = ['d'=>'dd', 'e'=>'ee', 'a'=>'a111'];

array_replace($arr1, $arr2);
array_merge($arr1, $arr2);
## 결과는 동일
[a'=>'a111', 'b'=>'bb', 'd'=>'dd', 'e'=>'ee']
$arr1 = ['aa', 'bb'];
$arr2 = ['cc', 'dd', 'ee'];

## 결과
array_merge : ['aa', 'bb', 'cc', 'dd', 'ee']
array_replace : ['cc', 'dd', 'ee']

배열에서 특정값들만 가져올때

array_values

배열에서 값만 가져올때

$arr = ['2002'=>120, '2003'=>169, '2004'=>89];
array_values($arr);

## 결과
[120, 169, 89]

array_keys

배열에서 키만 가져올때

$arr = ['2002'=>120, '2003'=>169, '2004'=>89];
array_keys($arr);

## 결과
['2002', '2003', '2004'];

array_column

다차원 배열에서 특정 키의 값만 가져온다.

$arr = [['2002'=>120, '2003'=>169], ['2002'=>150, '2003'=>69]];
array_column($arr, '2002');

## 결과
[120, 150];
평점을 남겨주세요
평점 : 5.0
총 투표수 : 1

질문 및 답글