PHP array_map() 함수란?
PHP는 다양한 기능을 수행할 수 있는 내장 함수를 폭넓게 제공하고 있으며, 그중 array_map()은 배열을 다룰 때 특히 유용하게 활용되는 내장 함수입니다.
array_map() 함수는 배열의 모든 요소를 사용자가 미리 정의한 콜백 함수에 하나씩 전달하고, 해당 함수에 의해 변환된 새로운 값들로 이루어진 배열을 반환합니다.
즉, 복잡한 반복문을 작성하지 않고도 하나 이상의 배열 전체에 사용자가 정의한 조건을 간단하고 직관적인 방식으로 적용할 수 있습니다.
문법(Syntax)
array_map(functionname, array1, array2, ...)
매개변수(Parameters)
이 함수는 두 개의 필수 매개변수(콜백 함수 이름과 배열)를 받으며, 그 외 추가 배열은 선택적으로 전달할 수 있습니다.
functionname (필수)
배열의 값을 어떤 방식으로 변경할지 정의하는 사용자 정의 함수(콜백 함수)의 이름입니다.
array1 (필수)
변환 대상이 되는 원본 배열입니다.
예제
<?php
function add($arr){
return ($arr + 2);
}
$arr1 = array(7, 6, 2, 4);
print_r(array_map("add", $arr1));
?>
출력 결과
Array
(
[0] => 9
[1] => 8
[2] => 4
[3] => 6
)
예제 설명
위 예제에서는 배열을 입력으로 받아 배열의 모든 요소에 2를 더하는 add() 함수를 정의했습니다. array_map()은 $arr1의 각 요소(7, 6, 2, 4)를 add() 함수에 순서대로 전달하며, 각 요소에 2가 더해진 값(9, 8, 4, 6)으로 구성된 새로운 배열을 반환합니다.
추가 팁: 여러 개의 배열 처리하기
array_map()은 두 개 이상의 배열을 동시에 인자로 전달할 수도 있습니다. 이 경우 콜백 함수는 각 배열에서 같은 위치에 있는 요소들을 인자로 받아 처리하며, 두 배열 중 길이가 짧은 쪽 기준으로 결과 배열이 생성됩니다. 이를 활용하면 여러 배열의 데이터를 한 번에 조합하거나 계산하는 작업을 손쉽게 구현할 수 있습니다.