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
반응형