Bird
Raised Fist0
PHPprogramming~20 mins

Return values in PHP - Practice Problems & Coding Challenges

Choose your learning style10 modes available
Challenge - 5 Problems
🎖️
Return Values Master
Get all challenges correct to earn this badge!
Test your skills under time pressure!
❓ Predict Output
intermediate
2:00remaining
What is the output of this PHP function call?

Consider the following PHP code. What will be printed when foo() is called?

PHP
<?php
function foo() {
    return 5 + 3;
}
echo foo();
AError: Undefined function foo
B53
C8
D5 + 3
Attempts:
2 left
💡 Hint

Remember that return sends a value back from the function.

❓ Predict Output
intermediate
2:00remaining
What does this function return?

Look at this PHP function. What value does it return when called with bar(4)?

PHP
<?php
function bar($x) {
    if ($x > 5) {
        return $x * 2;
    }
    return $x + 2;
}
$result = bar(4);
echo $result;
A10
B8
CError: Missing return statement
D6
Attempts:
2 left
💡 Hint

Check which return line runs for the input 4.

🔧 Debug
advanced
2:00remaining
What error does this code produce?

Examine this PHP code. What error will it cause when run?

PHP
<?php
function baz() {
    echo "Hello";
}
$result = baz();
echo $result;
AWarning: Trying to echo non-scalar value
BNo error, outputs 'Hello'
CNotice: Trying to echo null value
DNotice: Undefined variable $result
Attempts:
2 left
💡 Hint

Consider what the function baz() returns by default.

❓ Predict Output
advanced
2:00remaining
What is the output of this recursive function?

What will this PHP code print?

PHP
<?php
function countdown($n) {
    if ($n <= 0) {
        return "Done!";
    }
    return $n . " " . countdown($n - 1);
}
echo countdown(3);
A3 2 1 Done!
B3 2 1
CDone! 1 2 3
D3 2 1 0 Done!
Attempts:
2 left
💡 Hint

Trace the function calls and how the strings join.

🧠 Conceptual
expert
2:00remaining
What is the value of $result after this code runs?

Consider this PHP code snippet. What is the value of $result after execution?

PHP
<?php
function test() {
    return;
    return 10;
}
$result = test();
Anull
BError: unreachable code
C0
D10
Attempts:
2 left
💡 Hint

What happens when a function returns without a value?

Practice

(1/5)
1. What does the return statement do inside a PHP function?
easy
A. It declares a new variable inside the function.
B. It prints a value on the screen.
C. It stops the entire script immediately.
D. It sends a value back to where the function was called.

Solution

  1. Step 1: Understand the purpose of return

    The return statement sends a value back to the place where the function was called.
  2. Step 2: Differentiate from other actions

    It does not print or stop the whole script; it only ends the function and sends back a value.
  3. Final Answer:

    It sends a value back to where the function was called. -> Option D
  4. Quick Check:

    Return sends value back [OK]
Hint: Return sends value back to caller, not print or stop script [OK]
Common Mistakes:
  • Thinking return prints output
  • Confusing return with exit or die
  • Assuming return declares variables
2. Which of the following is the correct syntax to return the value 10 from a PHP function?
easy
A. return 10;
B. return(10)
C. return = 10;
D. return: 10;

Solution

  1. Step 1: Recall PHP return syntax

    The correct syntax uses the keyword return followed by the value and a semicolon: return 10;
  2. Step 2: Identify syntax errors in other options

    A uses invalid assignment; return(10) misses semicolon; D uses colon incorrectly.
  3. Final Answer:

    return 10; -> Option A
  4. Quick Check:

    Return value ends with semicolon [OK]
Hint: Return value with semicolon, no assignment or colon [OK]
Common Mistakes:
  • Omitting semicolon after return
  • Using assignment operator with return
  • Using colon instead of semicolon
3. What will be the output of this PHP code?
function add($a, $b) {
  return $a + $b;
  echo "Done";
}
$result = add(3, 4);
echo $result;
medium
A. 7
B. Done7
C. 7Done
D. Error

Solution

  1. Step 1: Understand return stops function execution

    The return $a + $b; sends back 7 and stops the function, so echo "Done"; is never run.
  2. Step 2: Output the returned value

    The variable $result gets 7, and echo $result; prints 7 only.
  3. Final Answer:

    7 -> Option A
  4. Quick Check:

    Return stops function, only 7 printed [OK]
Hint: Code after return inside function does not run [OK]
Common Mistakes:
  • Expecting code after return to execute
  • Confusing echo inside function with return
  • Thinking return prints output
4. Identify the error in this PHP function:
function multiply($x, $y) {
  $product = $x * $y;
  return
  $product;
}
medium
A. Missing semicolon after return
B. Return statement split incorrectly, returns nothing
C. Variable $product is undefined
D. Function missing closing brace

Solution

  1. Step 1: Analyze the return statement split

    The return is on one line alone, so PHP treats it as returning nothing immediately.
  2. Step 2: Understand effect of line break after return

    The next line $product; is unreachable and not part of return, causing function to return null.
  3. Final Answer:

    Return statement split incorrectly, returns nothing -> Option B
  4. Quick Check:

    Return must be on same line as value [OK]
Hint: Keep return and value on same line to avoid empty return [OK]
Common Mistakes:
  • Splitting return and value on separate lines
  • Assuming return reads next line automatically
  • Ignoring PHP's automatic semicolon insertion
5. You want a PHP function that returns the first non-empty string from an array. Which function correctly returns the first non-empty string or null if none found?
hard
A. function firstNonEmpty(array $arr) { foreach ($arr as $str) { if ($str) { return $str; } } return ''; }
B. function firstNonEmpty(array $arr) { foreach ($arr as $str) { if (isset($str)) { return $str; } } return null; }
C. function firstNonEmpty(array $arr) { foreach ($arr as $str) { if ($str !== '') { return $str; } } return null; }
D. function firstNonEmpty(array $arr) { foreach ($arr as $str) { if ($str == '') { return $str; } } return null; }

Solution

  1. Step 1: Check condition for non-empty string

    function firstNonEmpty(array $arr) { foreach ($arr as $str) { if ($str !== '') { return $str; } } return null; } uses $str !== '' to find strings that are not empty exactly.
  2. Step 2: Confirm return value if none found

    function firstNonEmpty(array $arr) { foreach ($arr as $str) { if ($str !== '') { return $str; } } return null; } returns null if no non-empty string is found, which is clear and intentional.
  3. Final Answer:

    function firstNonEmpty(array $arr) { foreach ($arr as $str) { if ($str !== '') { return $str; } } return null; } -> Option C
  4. Quick Check:

    Return first non-empty string or null [OK]
Hint: Use strict check !== '' to find non-empty strings [OK]
Common Mistakes:
  • Using loose truthy check that skips '0' string
  • Returning empty string instead of null when none found
  • Returning on empty string instead of non-empty
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