Bird
Raised Fist0
PHPprogramming~20 mins

Parameters and arguments in PHP - Practice Problems & Coding Challenges

Choose your learning style10 modes available
Challenge - 5 Problems
🎖️
Parameters and Arguments Master
Get all challenges correct to earn this badge!
Test your skills under time pressure!
❓ Predict Output
intermediate
2:00remaining
Output of function with default parameter
What is the output of this PHP code?
PHP
<?php
function greet($name = "Guest") {
    echo "Hello, $name!";
}
greet();
?>
ASyntax error
BHello, !
CHello, $name!
DHello, Guest!
Attempts:
2 left
💡 Hint
Check what happens when no argument is passed to a function with a default parameter.
❓ Predict Output
intermediate
2:00remaining
Output with passed argument overriding default
What will this PHP code output?
PHP
<?php
function multiply($a, $b = 2) {
    return $a * $b;
}
echo multiply(5, 3);
?>
A6
B15
C10
DError: Missing argument
Attempts:
2 left
💡 Hint
The second argument is provided, so default is ignored.
❓ Predict Output
advanced
2:00remaining
Output of function with reference parameter
What is the output of this PHP code?
PHP
<?php
function addOne(&$num) {
    $num += 1;
}
$value = 10;
addOne($value);
echo $value;
?>
A11
B10
C1
DError: Cannot pass by reference
Attempts:
2 left
💡 Hint
The function parameter is passed by reference, so changes affect the original variable.
❓ Predict Output
advanced
2:00remaining
Output of function with variable-length argument list
What will this PHP code output?
PHP
<?php
function sumAll(...$numbers) {
    return array_sum($numbers);
}
echo sumAll(1, 2, 3, 4);
?>
A10
B1,2,3,4
CArray
DError: Unexpected ... operator
Attempts:
2 left
💡 Hint
The function uses a variable-length argument list to sum all numbers.
🧠 Conceptual
expert
2:00remaining
Identify the error in function call with missing argument
What error will this PHP code produce?
PHP
<?php
function divide($x, $y) {
    return $x / $y;
}
echo divide(10);
?>
AWarning: Missing argument for parameter 2
BOutput: 10
CFatal error: Uncaught ArgumentCountError
DNo error, outputs 0
Attempts:
2 left
💡 Hint
PHP 7+ throws a specific error when required arguments are missing.

Practice

(1/5)
1. What is the role of parameters in a PHP function?
easy
A. They are used to store the function's return value.
B. They are the actual values passed to the function during a call.
C. They are variables declared outside the function.
D. They are placeholders for values the function will receive when called.

Solution

  1. Step 1: Understand function definition

    Parameters are the names inside the parentheses of a function definition that act as placeholders.
  2. Step 2: Differentiate parameters from arguments

    Arguments are the actual values given to the function when it is called, not the placeholders.
  3. Final Answer:

    They are placeholders for values the function will receive when called. -> Option D
  4. Quick Check:

    Parameters = placeholders [OK]
Hint: Parameters are names in function definition, not actual values [OK]
Common Mistakes:
  • Confusing parameters with arguments
  • Thinking parameters hold return values
  • Assuming parameters are global variables
2. Which of the following is the correct way to define a function with one parameter named name in PHP?
easy
A. function greet(name) { echo "Hello $name"; }
B. function greet(&name) { echo "Hello $name"; }
C. function greet($name) { echo "Hello $name"; }
D. function greet($name) echo "Hello $name";

Solution

  1. Step 1: Check parameter syntax in PHP

    In PHP, parameters must have a $ sign before the name inside the function definition.
  2. Step 2: Validate function body syntax

    The function body must be enclosed in curly braces {} to be valid.
  3. Final Answer:

    function greet($name) { echo "Hello $name"; } -> Option C
  4. Quick Check:

    Parameters need $ and braces [OK]
Hint: Parameters always start with $ in PHP function definitions [OK]
Common Mistakes:
  • Omitting $ before parameter name
  • Missing curly braces around function body
  • Using & without purpose
3. What will be the output of the following PHP code?
function add($a, $b) {
  return $a + $b;
}
echo add(3, 4);
medium
A. 7
B. 34
C. Error: Missing return statement
D. 7.0

Solution

  1. Step 1: Understand function call with arguments

    The function add receives 3 and 4 as arguments for $a and $b respectively.
  2. Step 2: Calculate the return value

    The function returns the sum 3 + 4 = 7, which is then printed by echo.
  3. Final Answer:

    7 -> Option A
  4. Quick Check:

    3 + 4 = 7 [OK]
Hint: Add numeric arguments to get sum output [OK]
Common Mistakes:
  • Concatenating numbers as strings
  • Expecting float output without decimals
  • Thinking function lacks return
4. Identify the error in this PHP function call:
function greet($name) {
  echo "Hello, $name!";
}
greet();
medium
A. Missing argument for the parameter $name in the function call.
B. Function name is incorrect.
C. Echo statement syntax is wrong.
D. Function definition is missing curly braces.

Solution

  1. Step 1: Check function parameters and call

    The function greet requires one parameter $name, but the call provides none.
  2. Step 2: Understand PHP behavior on missing arguments

    Calling a function without required arguments causes an error in PHP.
  3. Final Answer:

    Missing argument for the parameter $name in the function call. -> Option A
  4. Quick Check:

    Required parameter missing in call [OK]
Hint: Always pass required arguments matching parameters [OK]
Common Mistakes:
  • Calling function without required arguments
  • Assuming default values without specifying
  • Ignoring error messages about missing parameters
5. Consider this PHP function:
function multiply($x, $y = 2) {
  return $x * $y;
}

// What is the output of echo multiply(5); ?
hard
A. 5
B. 10
C. Error: Missing argument for second parameter
D. 7

Solution

  1. Step 1: Identify default parameter usage

    The second parameter $y has a default value of 2, so it is optional when calling the function.
  2. Step 2: Evaluate function call with one argument

    Calling multiply(5) uses 5 for $x and default 2 for $y, so returns 5 * 2 = 10.
  3. Final Answer:

    10 -> Option B
  4. Quick Check:

    Default parameter used, 5 * 2 = 10 [OK]
Hint: Default parameters fill missing arguments automatically [OK]
Common Mistakes:
  • Expecting error when argument is missing for default parameter
  • Ignoring default parameter values
  • Confusing default parameter position
Recommended

Ready to prove it?

Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard