Menu
Coddy logo textTech

'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
?>

이러한 동적 함수 호출은 계산기, 명령 프로세서 또는 라우팅 시스템과 같이 실행할 특정 함수가 런타임에 결정되는 유연한 애플리케이션을 구축할 때 특히 유용합니다.

quiz icon실력 점검

이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.

quiz icon실력 점검

이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.

quiz icon실력 점검

이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.

challenge icon

챌린지

쉬움

세 개의 함수를 만드세요: 두 개의 숫자를 받아 그 곱을 반환하는 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;
?>
quiz icon실력 점검

이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.

논리 & 흐름의 모든 레슨