PHP 콜백 함수
콜백 함수
콜백 함수(종종 "콜백"이라고 함)는 다른 함수에 인수로 전달되는 함수입니다.
기존 함수는 콜백 함수로 사용할 수 있습니다. 함수를 콜백 함수로 사용하려면 함수 이름이 포함된 문자열을 다른 함수의 인수로 전달합니다.
예시
array_map()
배열에 있는 모든 문자열의 길이를 계산하기 위해 PHP 함수에 콜백을 전달합니다 .
<?php
function my_callback($item) {
return strlen($item);
}
$strings = ["apple", "orange",
"banana", "coconut"];
$lengths =
array_map("my_callback", $strings);
print_r($lengths);
?>
버전 7부터 PHP는 익명 함수를 콜백 함수로 전달할 수 있습니다.
예시
익명 함수를 PHP 함수에 대한 콜백으로 사용 array_map()
:
<?php
$strings = ["apple", "orange", "banana", "coconut"];
$lengths =
array_map( function($item) { return strlen($item); } , $strings);
print_r($lengths);
?>
사용자 정의 함수의 콜백
사용자 정의 함수 및 메서드는 콜백 함수를 인수로 사용할 수도 있습니다. 사용자 정의 함수 또는 메서드 내에서 콜백 함수를 사용하려면 변수에 괄호를 추가하여 호출하고 일반 함수와 마찬가지로 인수를 전달합니다.
예시
사용자 정의 함수에서 콜백을 실행합니다.
<?php
function exclaim($str) {
return $str . "! ";
}
function ask($str) {
return $str . "? ";
}
function
printFormatted($str, $format) {
// Calling the $format callback
function
echo $format($str);
}
// Pass "exclaim" and "ask" as callback
functions to printFormatted()
printFormatted("Hello world", "exclaim");
printFormatted("Hello world", "ask");
?>