기본 매개변수 값
Coddy PHP 여정의 기초 섹션에 포함된 레슨. 71개 중 64번째.
때로는 인수가 제공되지 않을 때 function 매개변수가 사용할 대체 값을 지정하고 싶을 수 있습니다. 기본 매개변수 값을 사용하면 호출자가 매개변수를 지정하지 않았을 때 해당 매개변수가 가져야 할 값을 정의할 수 있습니다.
기본값을 설정하려면 = 연산자를 사용하여 함수 선언에서 직접 할당하세요:
<?php
function greet($name = "Guest") {
echo "Hello, $name!\n";
}
greet("Alice");
greet();
?>다음이 출력됩니다:
Hello, Alice!
Hello, Guest!greet("Alice")를 call하면 인수가 default를 재정의합니다. 인수 없이 greet()를 call하면 PHP는 대신 "Guest"를 사용합니다.
필수 매개변수와 선택적 매개변수를 함께 사용할 수 있지만, 기본값이 있는 매개변수는 필수 매개변수 뒤에 와야 합니다:
<?php
function createUser($name, $role = "member") {
return "$name is a $role";
}
echo createUser("Alice") . "\n";
echo createUser("Bob", "admin");
?>다음과 같이 출력됩니다:
Alice is a member
Bob is a admin첫 번째 매개변수 $name은 필수이며, $role은 제공되지 않으면 "member"로 기본 설정됩니다. 이 패턴을 사용하면 호출자가 항상 모든 인수를 제공하지 않아도 함수의 유연성을 높일 수 있습니다.
챌린지
쉬움두 줄의 입력을 읽습니다:
- product 이름(예:
Laptop) - quantity(예:
5). 이 입력은 비어 있을 수 있습니다
formatOrder라는 function을 생성합니다. 이 function은 두 개의 매개변수를 받습니다: $product(required) 및 $quantity(optional, defaults는 1). function은 다음 형식의 문자열을 return해야 합니다:
Order: [quantity]x [product]quantity 입력이 비어 있으면 product 이름만 사용하여(기본 quantity 사용) function을 호출합니다. 그렇지 않으면 두 값을 모두 사용하여 호출합니다.
return된 result를 출력합니다.
예제 1:
입력이 Laptop과 5인 경우 출력은 다음과 같아야 합니다:
Order: 5x Laptop예제 2:
입력이 Keyboard와 빈 줄인 경우 출력은 다음과 같아야 합니다:
Order: 1x Keyboard예제 3:
입력이 Monitor와 3인 경우 출력은 다음과 같아야 합니다:
Order: 3x Monitor직접 해보기
<?php
// 입력 읽기
$product = trim(fgets(STDIN));
$quantity = trim(fgets(STDIN));
// TODO: $product(필수)와 $quantity(선택, 기본값 1)로 formatOrder 함수 만들기
// 함수는 "Order: [quantity]x [product]" 형식의 문자열을 반환해야 합니다
// TODO: quantity가 비어 있는지 여부에 따라 함수를 적절히 호출하기
// quantity가 비어 있으면 product만으로 호출 (기본값 사용)
// 그렇지 않으면 product와 quantity 둘 다로 호출
// 결과 출력
echo $result;
?>이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.
기초의 모든 레슨
직접 연습해 보세요: 온라인 PHP 컴파일러