가변 함수
Coddy PHP 여정의 논리 & 흐름 섹션에 포함된 레슨 — 68개 중 6번째.
가변 함수는 PHP에서 함수를 동적으로 호출하는 또 다른 방법을 제공합니다. call_user_func()를 사용하는 대신, 함수 이름을 포함하는 변수를 함수 자체인 것처럼 취급하여 함수를 직접 호출할 수 있습니다.
구문은 간단합니다. 함수 이름을 포함하는 변수가 있는 경우, 변수에 괄호를 추가하여 해당 함수를 호출할 수 있습니다:
<?php
function sayHello() {
echo "Hello World!";
}
$functionName = "sayHello";
$functionName(); // 출력: Hello World!
?>이것은 매개변수를 받는 함수에서도 작동합니다. 괄호 안에 인수를 전달하기만 하면 됩니다:
<?php
function greet($name) {
echo "Hello, " . $name . "!";
}
$func = "greet";
$func("Alice"); // Outputs: Hello, Alice!
?>가변 함수는 코드를 동적으로 실행하는 깔끔하고 직관적인 방법을 제공합니다. 이 기능은 조건이나 사용자 입력에 따라 서로 다른 함수를 호출해야 할 때 특히 유용하며, 코드를 더욱 유연하고 적응력 있게 만들어 줍니다.
이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.
이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.
이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.
챌린지
쉬움세 개의 함수를 만드세요: 두 개의 숫자(length와 width)를 받아 그 곱을 반환하는 calculateArea, 두 개의 숫자를 받아 그 합의 두 배를 반환하는 calculatePerimeter, 그리고 두 개의 숫자를 받아 그 제곱의 합의 제곱근을 반환하는 calculateDiagonal입니다.
세 개의 입력을 받게 됩니다: 연산 이름("area", "perimeter", 또는 "diagonal"), length, 그리고 width입니다. 세 입력을 모두 읽고, 함수 이름을 변수에 저장한 뒤, 가변 함수(variable function) 구문을 사용하여 두 측정값과 함께 해당 함수를 호출하고 결과를 출력하세요.
입력 형식: 세 줄 - 첫 번째 줄은 연산 이름, 두 번째 줄은 length(소수점을 포함할 수 있는 숫자), 세 번째 줄은 width(소수점을 포함할 수 있는 숫자)를 포함합니다.
예상 출력: 계산 결과
치트 시트
가변 함수를 사용하면 함수 이름이 포함된 변수를 함수 자체로 취급하여 함수를 동적으로 호출할 수 있습니다.
기본 구문 - 함수 이름이 포함된 변수에 괄호를 추가합니다:
<?php
function sayHello() {
echo "Hello World!";
}
$functionName = "sayHello";
$functionName(); // 출력: Hello World!
?>가변 함수는 매개변수와도 함께 작동합니다:
<?php
function greet($name) {
echo "Hello, " . $name . "!";
}
$func = "greet";
$func("Alice"); // 출력: Hello, Alice!
?>직접 해보기
<?php
// 입력 읽기
$operation = trim(fgets(STDIN));
$length = floatval(fgets(STDIN));
$width = floatval(fgets(STDIN));
// TODO: 여기에 세 가지 함수를 생성하세요 (calculateArea, calculatePerimeter, calculateDiagonal)
// TODO: 가변 함수 구문을 사용하여 적절한 함수를 호출하고 결과를 저장하세요
// 결과 출력
echo $result;
?>이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.