PHP에는 많은 내장 함수가 있으며, 그 중 array_map() 함수는 매우 유용한 함수 중 하나입니다. 이 함수는 하나 이상의 배열을 입력으로 받아들이고 새 배열을 반환할 수 있습니다. 새 배열의 각 요소는 콜백 함수에 의해 처리되는 입력 배열의 결과입니다. array_map() 함수는 주로 배열의 각 요소에 대해 연산을 수행하고 새 배열을 반환하는 등의 연산을 단순화하는 데 사용됩니다.
array_map() 함수의 구문은 다음과 같습니다.
array_map(callable $callback, array ...$arrays): array
여기서 $callback은 콜백 함수이고 $arrays는 하나 이상의 배열입니다. 이 함수는 $arrays의 모든 배열을 반복하고 각 배열 요소에 대해 콜백 함수를 차례로 호출한 다음 마지막으로 모든 새 요소가 포함된 배열을 반환합니다.
콜백 함수는 입력 요소에 동작하는 함수입니다. 콜백 함수가 받는 매개변수의 개수는 입력 배열의 요소 개수와 동일해야 하며, 첫 번째 매개변수는 항상 입력 배열의 요소입니다. 콜백 함수에는 여러 입력 배열이 있을 수 있지만 각 입력 배열에는 동일한 수의 요소가 있어야 합니다.
다음은 array_map() 함수를 사용하여 배열의 요소를 두 배로 늘리는 간단한 예입니다.
function double($n) { return $n * 2; } $numbers = array(1, 2, 3, 4, 5); $doubled = array_map('double', $numbers); print_r($doubled);
출력:
Array ( [0] => 2 [1] => 4 [2] => 6 [3] => 8 [4] => 10 )
이 예에서는 먼저 입력 값을 곱하는 콜백 함수 double()을 정의합니다. Take 2 결과를 반환합니다. 그런 다음 1부터 5까지의 정수를 포함하는 $numbers 배열을 정의합니다. 다음으로 double() 함수를 콜백 함수로, $numbers 배열을 입력으로 사용하여 array_map()을 호출합니다. 마지막으로 출력을 $doubled 배열에 저장하고 화면에 인쇄합니다.
콜백 함수에서 여러 입력 배열을 사용할 수도 있습니다. 예를 들어 array_map()을 사용하면 두 배열의 요소를 합칠 수 있습니다.
function sum($a, $b) { return $a + $b; } $numbers1 = array(1, 2, 3, 4, 5); $numbers2 = array(10, 20, 30, 40, 50); $summed = array_map('sum', $numbers1, $numbers2); print_r($summed);
출력:
Array ( [0] => 11 [1] => 22 [2] => 33 [3] => 44 [4] => 55 )
이 예에서는 두 개의 입력 매개변수를 받아들이고 이를 더하는 새 콜백 함수 sum()을 정의합니다. 두 개의 배열 $numbers1과 $numbers2를 생성하고 이를 콜백으로 sum() 함수와 함께 array_map() 함수에 전달합니다. 이 함수는 $numbers1 및 $numbers2 배열의 요소를 추가한 결과가 포함된 새 배열 $summed를 반환합니다.
array_map()에는 익명 함수를 콜백 함수로 사용하는 등 매우 널리 사용되는 기능도 있습니다. 익명 함수는 필요할 때 동적으로 함수를 생성할 수 있도록 하는 PHP 5.3에 도입된 새로운 기능입니다. 다음은 문자열 배열에 있는 모든 문자열의 길이를 계산하기 위해 익명 함수를 사용하는 예입니다.
$strings = array('hello', 'world', 'goodbye'); $lengths = array_map(function($str) { return strlen($str); }, $strings); print_r($lengths);
출력:
Array ( [0] => 5 [1] => 5 [2] => 7 )
이 예에서는 문자열을 입력으로 받아들이고 다음을 반환하는 익명 함수를 정의합니다. 이 문자열. $strings 배열을 입력으로 사용하여 이 익명 함수를 array_map() 함수에 대한 콜백 함수로 전달합니다. 마지막으로 $strings 배열의 모든 문자열 길이를 포함하는 새로운 배열 $lengths가 출력됩니다.
간단히 말하면 array_map() 함수는 배열 작업을 더 명확하고 간결하게 만들 수 있는 매우 유용한 도구입니다. 콜백 함수는 사용자 정의가 매우 용이하며 다양한 데이터 유형에 대해 쉽게 작동할 수 있습니다. 이 글이 array_map() 함수를 더 잘 이해하고 사용하는 데 도움이 되기를 바랍니다.
위 내용은 PHP array_map() 함수 사용법 및 예의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!