⊗ppSpFnIFC 12 of 83 menu

PHP 내장 함수에서의 콜백

PHP에는 매개변수로 콜백을 받는 일련의 내장 함수가 있습니다. 그들의 일반적인 작동 원리는 array_map 함수를 예로 들어 배우겠습니다. 이 함수는 첫 번째 매개변수로 콜백을, 두 번째 매개변수로 배열을 받습니다. 함수는 콜백을 배열의 각 요소에 적용하고 변경된 배열을 반환합니다.

이전에 얻은 지식을 고려하여 이 함수 사용의 여러 가지 방법을 살펴보겠습니다.

방법 1

내장 함수 sqrt를 사용하여 배열의 각 요소에서 제곱근을 추출해 보겠습니다. 이를 위해 매개변수로 콜백에 해당 함수 이름이 포함된 문자열을 전달합니다:

<?php $arr = [1, 2, 3, 4, 5]; $res = array_map('sqrt', $arr); var_dump($res); ?>

방법 2

우리가 만든 일반 함수를 사용하여 배열의 각 요소를 제곱해 보겠습니다. 이를 위해 매개변수로 콜백에 해당 함수 이름이 포함된 문자열을 전달합니다:

<?php $arr = [1, 2, 3, 4, 5]; function func($num) { return $num ** 2; } $res = array_map('func', $arr); var_dump($res); ?>

방법 3

우리 함수를 변수에 할당된 익명 함수로 변경해 보겠습니다:

<?php $arr = [1, 2, 3, 4, 5]; $func = function ($num) { return $num ** 2; }; $res = array_map($func, $arr); var_dump($res); ?>

방법 4

익명 함수를 매개변수로 직접 전달해 보겠습니다:

<?php $arr = [1, 2, 3, 4, 5]; $res = array_map(function ($num) { return $num ** 2; }, $arr); var_dump($res); ?>

방법 5

화살표 함수를 사용해 보겠습니다:

<?php $arr = [1, 2, 3, 4, 5]; $res = array_map(fn ($num) => $num ** 2, $arr); var_dump($res); ?>

방법 6

이제 숫자를 거듭제곱할 지수가 콜백 외부 변수로 지정된다고 가정해 보겠습니다. use를 통해 접근하여 이 변수를 사용해 보겠습니다:

<?php $arr = [1, 2, 3, 4, 5]; $pow = 3; $res = array_map(function ($num) use ($pow) { return $num ** $pow; }, $arr); var_dump($res); ?>

방법 7

이전 코드를 화살표 함수로 다시 작성해 보겠습니다. 이제 $pow 변수에 자동으로 접근할 수 있습니다:

<?php $arr = [1, 2, 3, 4, 5]; $pow = 3; $res = array_map(fn ($num) => $num ** $pow, $arr); var_dump($res); ?>

실습 문제

문자열로 이루어진 배열이 주어집니다. 배열의 각 요소 텍스트를 대문자로 변환하세요.

문자열로 이루어진 배열이 주어집니다. 배열의 각 요소 텍스트를 문자 순서를 반대로 뒤집으세요.

한국어
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақКыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
우리는 웹사이트 운영, 분석 및 개인화를 위해 쿠키를 사용합니다. 데이터 처리는 개인정보 처리방침에 따라 이루어집니다.
모두 수락 설정 거부