What are default parameter values in PHP functions?
Default parameter values allow a function to have predefined values for parameters if no argument is passed when the function is called.
Click to reveal answer
beginner
How do you define a default parameter value in a PHP function?
You assign a value to the parameter in the function declaration, like: <code>function greet($name = "Guest") { ... }</code>.
Click to reveal answer
beginner
What happens if you call a PHP function without passing an argument for a parameter that has a default value?
The function uses the default value defined for that parameter.
Click to reveal answer
intermediate
Can parameters with default values be placed before parameters without default values in PHP?
No, parameters with default values must come after parameters without default values to avoid syntax errors.
Click to reveal answer
beginner
Example: What will this PHP code output?<br><pre>function sayHi($name = "Friend") {
echo "Hi, $name!";
}
sayHi();</pre>
It will output: Hi, Friend! because the function uses the default value for $name when no argument is passed.
Click to reveal answer
What is the correct way to set a default value for a parameter in PHP?
Afunction example($param) = 10 {}
Bfunction example($param = 10) {}
Cfunction example($param: 10) {}
Dfunction example($param <- 10) {}
✗ Incorrect
In PHP, default values are assigned using the equals sign inside the function parameter list, like $param = 10.
What happens if you call a function with a default parameter but provide an argument?
AThe function ignores the argument and uses the default.
BThe function throws an error.
CThe default value overrides the argument.
DThe default value is ignored and the provided argument is used.
✗ Incorrect
When an argument is provided, PHP uses that argument instead of the default value.
Which of these parameter orders is valid in PHP?
ABoth B and D
Bfunction test($a, $b = 2) {}
Cfunction test($a = 1, $b) {}
Dfunction test($a = 1, $b = 2) {}
✗ Incorrect
Parameters without default values must come first. So B and D are valid, A is invalid.
What is the output of this code?
function greet($name = "Guest") {
echo "Hello, $name!";
}
greet("Anna");
AHello, Anna!
BHello, Guest!
CHello, !
DError
✗ Incorrect
Since an argument "Anna" is passed, the function uses it instead of the default.
Can default parameter values be expressions like function calls in PHP?
AYes, but only if the function is declared as static.
BYes, any expression is allowed.
CNo, only constant values are allowed.
DNo, default values must be null.
✗ Incorrect
PHP requires default parameter values to be constant expressions, not function calls or variables.
Explain how default parameter values work in PHP functions and why they are useful.
Think about what happens when you call a function without all arguments.
You got /3 concepts.
Describe the rules about the order of parameters with and without default values in PHP function declarations.
Consider what happens if you put a default parameter before a required one.
You got /3 concepts.
Practice
(1/5)
1. What is the purpose of default parameter values in PHP functions?
easy
A. To force the user to always pass an argument
B. To make the function run faster
C. To provide a value if no argument is passed when calling the function
D. To declare a variable inside the function
Solution
Step 1: Understand default parameters
Default parameters give a preset value to a function argument if no value is provided during the call.
Step 2: Identify the purpose
This helps avoid errors and makes the function flexible by not requiring all arguments every time.
Final Answer:
To provide a value if no argument is passed when calling the function -> Option C
Quick Check:
Default parameter = fallback value [OK]
Hint: Default values fill in missing arguments automatically [OK]
Common Mistakes:
Thinking default values speed up the function
Believing default values force argument passing
Confusing default parameters with variable declarations
2. Which of the following is the correct syntax to define a function with a default parameter value in PHP?
easy
A. function greet($name = "Guest") { echo "Hello, $name!"; }
B. function greet($name) = "Guest" { echo "Hello, $name!"; }
C. function greet($name: "Guest") { echo "Hello, $name!"; }
D. function greet($name) { $name = "Guest"; echo "Hello, $name!"; }
Solution
Step 1: Review PHP default parameter syntax
In PHP, default values are assigned using the equals sign inside the function parameter list.
Step 2: Check each option
function greet($name = "Guest") { echo "Hello, $name!"; } uses correct syntax: $name = "Guest" inside parentheses. Syntaxes using = after the closing parenthesis or colon (:) are invalid. function greet($name) { $name = "Guest"; echo "Hello, $name!"; } assigns default inside the function body, not as a parameter default.
Final Answer:
function greet($name = "Guest") { echo "Hello, $name!"; } -> Option A
Quick Check:
Default parameter = equals sign in parentheses [OK]
Hint: Use = inside parentheses to set default values [OK]
Common Mistakes:
Using colon or other symbols instead of =
Assigning default inside function body instead of parameter list
Placing default value outside parentheses
3. What will be the output of the following PHP code?
The function multiply expects two parameters, but the second has a default value of 2.
Step 2: Calculate the result
Calling multiply(5) uses $a=5 and default $b=2, so 5 * 2 = 10.
Final Answer:
10 -> Option D
Quick Check:
5 * default 2 = 10 [OK]
Hint: If argument missing, default value is used [OK]
Common Mistakes:
Expecting error for missing second argument
Using wrong default value
Confusing output with sum instead of product
4. Identify the error in this PHP function definition:
function greet($name = "Guest", $age) {
echo "Hello $name, age $age";
}
medium
A. Function cannot have default parameters
B. Default parameter must be last or followed only by default parameters
C. Missing semicolon after echo statement
D. Variable names cannot have default values
Solution
Step 1: Check parameter order rules
In PHP, parameters with default values must come after parameters without defaults.
Step 2: Identify the error
Here, $name has a default but $age does not, and $age comes after $name, which is invalid syntax.
Final Answer:
Default parameter must be last or followed only by default parameters -> Option B
Quick Check:
Default parameters must be at the end [OK]
Hint: Place all default parameters after non-default ones [OK]
Common Mistakes:
Putting default parameters before required ones
Ignoring PHP syntax rules for parameter order
Thinking semicolon or variable name causes error
5. Consider this PHP function:
function createUser($name, $role = "user", $active = true) {
return "$name is a $role and active status is " . ($active ? "yes" : "no");
}
// Call the function
$result = createUser("Alice", active: false);
echo $result;
What will be the output and why?
hard
A. Alice is a user and active status is no
B. Alice is a user and active status is yes
C. Syntax error due to incorrect argument order
D. Error: Named arguments not supported
Solution
Step 1: Understand named arguments and defaults
PHP 8+ supports named arguments, so calling createUser("Alice", active: false) sets $active to false and uses default $role = "user".
Step 2: Evaluate function output
$name = "Alice", $role = "user", $active = false, so output is "Alice is a user and active status is no".
Final Answer:
Alice is a user and active status is no -> Option A
Quick Check:
Named argument sets active=false, role defaults [OK]
Hint: Named arguments can skip defaults, set specific params [OK]
Common Mistakes:
Assuming named arguments are unsupported in PHP
Expecting syntax error due to argument order
Confusing default parameter usage with named arguments
Recommended
Ready to prove it?
Pass the test and this pattern moves unknownstrongwhile earning +1 Grip toward your certificate.