>  기사  >  백엔드 개발  >  PHP array_map() 함수 사용법 및 예

PHP array_map() 함수 사용법 및 예

王林
王林원래의
2023-06-27 09:18:071637검색

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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.