Menu
Coddy logo textTech

가변 함수

Coddy PHP 여정의 논리 & 흐름 섹션에 포함된 레슨. 68개 중 6번째.

Variable functions는 PHP에서 functions를 동적으로 호출하는 또 다른 방법을 제공합니다. call_user_func()를 using하는 대신, function 이름을 포함하는 variable을 function 자체인 것처럼 취급하여 function을 직접 호출할 수 있습니다.

syntax은 간단합니다. function name을 포함하는 variable이 있다면, variable에 괄호를 추가하여 해당 function을 호출할 수 있습니다:

<?php
function sayHello() {
    echo "Hello World!";
}

$functionName = "sayHello";
$functionName();  // 출력: Hello World!
?>

이는 매개변수를 받는 functions에도 적용됩니다. 괄호 안에 인수를 전달하기만 하면 됩니다:

<?php
function greet($name) {
    echo "Hello, " . $name . "!";
}

$func = "greet";
$func("Alice");  // 출력: Hello, Alice!
?>

Variable functions은 코드를 동적으로 실행할 수 있는 깔끔하고 직관적인 방법을 제공합니다. 이 기능은 조건이나 사용자 입력에 따라 서로 다른 함수를 호출해야 할 때 특히 유용하며, 코드를 더욱 유연하고 적응 가능하게 만들어 줍니다.

challenge icon

챌린지

쉬움

three functions를 생성하세요: 두 숫자(length 및 width)를 받아 그 곱을 반환하는 calculateArea, 두 숫자를 받아 그 합의 두 배를 반환하는 calculatePerimeter, 두 숫자를 받아 제곱합의 제곱근을 반환하는 calculateDiagonal을 만드세요.

three inputs를 받습니다: operation 이름("area", "perimeter" 또는 "diagonal"), length, 그리고 width입니다. three inputs를 모두 읽고, function 이름을 variable에 저장한 다음, 두 측정값을 사용하여 variable function syntax로 해당 function을 호출하고 result를 출력하세요.

입력 형식: 세 줄 — 첫 번째 줄에는 operation 이름, 두 번째 줄에는 length(소수점을 포함할 수 있는 숫자), 세 번째 줄에는 width(소수점을 포함할 수 있는 숫자)가 있습니다.

예상 출력: 계산 결과

직접 해보기

<?php
// 입력 읽기
$operation = trim(fgets(STDIN));
$length = floatval(fgets(STDIN));
$width = floatval(fgets(STDIN));

// TODO: 여기에 세 함수를 작성하세요 (calculateArea, calculatePerimeter, calculateDiagonal)

// TODO: 가변 함수 구문을 사용하여 적절한 함수를 호출하고 결과를 저장하세요

// 결과 출력
echo $result;
?>
quiz icon실력 점검

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

논리 & 흐름의 모든 레슨

직접 연습해 보세요: 온라인 PHP 컴파일러