Menu
Coddy logo textTech

기본 매개변수 값

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"로 기본 설정됩니다. 이 패턴을 사용하면 호출자가 항상 모든 인수를 제공하지 않아도 함수의 유연성을 높일 수 있습니다.

challenge icon

챌린지

쉬움

두 줄의 입력을 읽습니다:

  1. product 이름(예: Laptop)
  2. quantity(예: 5). 이 입력은 비어 있을 수 있습니다

formatOrder라는 function을 생성합니다. 이 function은 두 개의 매개변수를 받습니다: $product(required) 및 $quantity(optional, defaults는 1). function은 다음 형식의 문자열을 return해야 합니다:

Order: [quantity]x [product]

quantity 입력이 비어 있으면 product 이름만 사용하여(기본 quantity 사용) function을 호출합니다. 그렇지 않으면 두 값을 모두 사용하여 호출합니다.

return된 result를 출력합니다.

예제 1:

입력이 Laptop5인 경우 출력은 다음과 같아야 합니다:

Order: 5x Laptop

예제 2:

입력이 Keyboard와 빈 줄인 경우 출력은 다음과 같아야 합니다:

Order: 1x Keyboard

예제 3:

입력이 Monitor3인 경우 출력은 다음과 같아야 합니다:

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;
?>
quiz icon실력 점검

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

기초의 모든 레슨

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