'call_user_func' 사용하기
Coddy PHP 여정의 논리 & 흐름 섹션에 포함된 레슨 — 68개 중 5번째.
call_user_func() 함수는 PHP에서 함수를 동적으로 호출하는 강력한 방법을 제공합니다. 함수 이름을 직접 호출하는 대신, 함수 이름을 문자열 변수에 저장하고 call_user_func()를 사용하여 실행할 수 있습니다.
기본 구문은 다음과 같습니다:
<?php
function greet() {
echo "Hello World!";
}
$functionName = "greet";
call_user_func($functionName); // 출력: Hello World!
?>이는 사용자 입력이나 조건에 따라 서로 다른 함수를 호출해야 할 때 특히 유용합니다. 또한 추가 매개변수로 포함하여 함수에 인수를 전달할 수도 있습니다:
<?php
function add($a, $b) {
return $a + $b;
}
$operation = "add";
$result = call_user_func($operation, 5, 3);
echo $result; // 출력: 8
?>이러한 동적 함수 호출은 계산기, 명령 프로세서 또는 라우팅 시스템과 같이 실행할 특정 함수가 런타임에 결정되는 유연한 애플리케이션을 구축할 때 특히 유용합니다.
이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.
이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.
이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.
챌린지
쉬움세 개의 함수를 만드세요: 두 개의 숫자를 받아 그 곱을 반환하는 multiply, 두 개의 숫자를 받아 그 차를 반환하는 subtract, 그리고 두 개의 숫자를 받아 그 몫을 반환하는 divide.
세 개의 입력을 받게 됩니다: 연산 이름("multiply", "subtract", 또는 "divide")과 두 개의 숫자입니다. 세 입력을 모두 읽고, call_user_func()를 사용하여 두 숫자와 함께 적절한 함수를 실행하고 결과를 출력하세요.
입력 형식: 세 줄 - 첫 번째 줄은 연산 이름, 두 번째 줄은 첫 번째 숫자, 세 번째 줄은 두 번째 숫자를 포함합니다.
예상 출력: 연산 결과
치트 시트
call_user_func() 함수를 사용하면 함수 이름이 포함된 문자열 변수를 사용하여 함수를 동적으로 호출할 수 있습니다.
<?php
function greet() {
echo "Hello World!";
}
$functionName = "greet";
call_user_func($functionName); // Outputs: Hello World!
?>추가 매개변수를 포함하여 함수에 인수를 전달할 수 있습니다.
<?php
function add($a, $b) {
return $a + $b;
}
$operation = "add";
$result = call_user_func($operation, 5, 3);
echo $result; // Outputs: 8
?>직접 해보기
<?php
// 입력 읽기
$operation = trim(fgets(STDIN));
$num1 = floatval(fgets(STDIN));
$num2 = floatval(fgets(STDIN));
// TODO: 여기에 세 가지 함수(multiply, subtract, divide)를 만드세요
// TODO: call_user_func()를 사용하여 적절한 함수를 실행하세요
// 결과 출력
echo $result;
?>이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.