함수 매개변수
Coddy PHP 여정의 기초 섹션에 포함된 레슨. 71개 중 62번째.
이전 레슨의 sayHello 함수는 항상 같은 일을 합니다. 하지만 서로 다른 사람에게 인사하고 싶다면 어떻게 해야 할까요? 매개변수를 사용하면 함수에 데이터를 전달하여 함수를 유연하고 동적으로 만들 수 있습니다.
매개변수는 함수를 선언할 때 괄호 안에 나열되는 변수입니다. 함수를 호출할 때 해당 매개변수에 할당되는 값(인수라고 함)을 제공합니다.
<?php
function greet($name) {
echo "Hello, $name!\n";
}
greet("Alice");
greet("Bob");
?>다음이 출력됩니다:
Hello, Alice!
Hello, Bob!매개변수 $name은(는) 자리 표시자처럼 작동합니다. greet()을 호출할 때마다 전달하는 인수가 함수 내부에서 해당 자리 표시자를 대체합니다.
함수는 쉼표로 구분된 여러 매개변수를 받을 수 있습니다:
<?php
function introduce($name, $age) {
echo "$name is $age years old.\n";
}
introduce("Alice", 25);
introduce("Bob", 30);
?>다음과 같이 출력됩니다:
Alice is 25 years old.
Bob is 30 years old.여러 매개변수가 있는 함수를 호출할 때는 순서가 중요합니다. 첫 번째 인수는 첫 번째 매개변수에, 두 번째 인수는 두 번째 매개변수에 전달되는 식으로 이어집니다.
챌린지
쉬움입력의 세 줄을 읽습니다:
- 사람의 이름 (예:
Alice) - 도시 이름 (예:
Paris) - 연도 (예:
2020)
describePerson이라는 함수를 만들고, 이 함수가 $name, $city, $year라는 세 개의 매개변수를 받도록 합니다. 함수는 다음 형식의 메시지를 출력해야 합니다:
[name] moved to [city] in [year].입력값을 사용하여 함수를 호출합니다.
예제 1:
입력이 Alice, Paris, 2020인 경우 출력은 다음과 같아야 합니다:
Alice moved to Paris in 2020.예제 2:
입력이 Bob, Tokyo, 2018인 경우 출력은 다음과 같아야 합니다:
Bob moved to Tokyo in 2018.예제 3:
입력이 Emma, New York, 2015인 경우 출력은 다음과 같아야 합니다:
Emma moved to New York in 2015.직접 해보기
<?php
// 입력 읽기
$name = trim(fgets(STDIN));
$city = trim(fgets(STDIN));
$year = trim(fgets(STDIN));
// TODO: describePerson라는 세 개의 매개변수를 받는 함수를 생성하세요
// ($name, $city, $year) 그리고 필요한 형식으로 메시지를 출력합니다
// 입력 값으로 함수를 호출합니다
?>이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.
기초의 모든 레슨
직접 연습해 보세요: 온라인 PHP 컴파일러