IT/PHP | CI
[PHP] 알면 좋은 배열 함수 array_map, array_filter, array_merge , array_diff, array_column, array_unique
카제인나트륨.
2025. 2. 27. 19:32
728x90
반응형
array_map()
배열의 각 요소에 사용자 정의 함수를 적용하여 새로운 배열을 반환
$numbers = [1, 2, 3, 4];
$squared = array_map(function($n) { return $n * $n; }, $numbers);
print_r($squared);
결과
Array
(
[0] => 1
[1] => 4
[2] => 9
[3] => 16
)
array_filter ()
배열에서 조건을 만족하는 값들만 필터링하여 새로운 배열을 반환
$numbers = [1, 2, 3, 4, 5];
$even_numbers = array_filter($numbers, function($n) { return $n % 2 == 0; });
print_r($even_numbers);
결과
Array
(
[1] => 2
[3] => 4
)
응용
$code = "select * from code where code in (101,102,103,104)"; 결과를 가정
$code_101 = array_filter($code, function($data){ return $data['code'] == '101'; });
$code_102 = array_filter($code, function($data){ return $data['code'] == '102'; });
$code_103 = array_filter($code, function($data){ return $data['code'] == '103'; });
$code_104 = array_filter($code, function($data){ return $data['code'] == '104'; });
array_merge()
두 개 이상의 배열을 합쳐서 하나의 배열로 반환
$array1 = [1, 2, 3];
$array2 = [4, 5, 6];
$merged = array_merge($array1, $array2);
print_r($merged);
결과
Array
(
[0] => 1
[1] => 2
[2] => 3
[3] => 4
[4] => 5
[5] => 6
)
array_diff()
첫 번째 배열에서 다른 배열들과 겹치지 않는 값을 반환
$array1 = [1, 2, 3, 4];
$array2 = [3, 4, 5, 6];
$diff = array_diff($array1, $array2);
print_r($diff);
결과
Array
(
[0] => 1
[1] => 2
)
array_column()
다차원 배열에서 특정 열을 추출하여 새로운 배열을 반환
키를 추출한다면 array_keys(array)
$array = [
['id' => 1, 'name' => 'Alice'],
['id' => 2, 'name' => 'Bob'],
['id' => 3, 'name' => 'Charlie']
];
$names = array_column($array, 'name');
print_r($names);
결과
Array
(
[0] => Alice
[1] => Bob
[2] => Charlie
)
array_unique()
배열의 모든 값을 더하여 합계를 반환
$array = [1, 2, 2, 3, 4, 4, 5];
$unique = array_unique($array);
print_r($unique);
결과
Array
(
[0] => 1
[1] => 2
[3] => 3
[4] => 4
[6] => 5
)
728x90
반응형