Bird
Raised Fist0
PHPprogramming~10 mins

Anonymous function syntax in PHP - Interactive Code Practice

Choose your learning style10 modes available
Practice - 5 Tasks
Answer the questions below
1fill in blank
easy

Complete the code to create an anonymous function assigned to $greet.

PHP
$greet = [1]() { echo "Hello!"; };
Drag options to blanks, or click blank then click option'
Afun
Bdef
Clambda
Dfunction
Attempts:
3 left
💡 Hint
Common Mistakes
Using 'def' or 'lambda' which are not PHP keywords.
Forgetting the 'function' keyword.
2fill in blank
medium

Complete the code to call the anonymous function stored in $greet.

PHP
$greet[1]();
Drag options to blanks, or click blank then click option'
A->
B()
C[]
D->call
Attempts:
3 left
💡 Hint
Common Mistakes
Using '->' which is for object properties.
Using '[]' which is for arrays.
3fill in blank
hard

Fix the error in the anonymous function syntax.

PHP
$sum = function($a, $b) [1] return $a + $b; };
Drag options to blanks, or click blank then click option'
A{
B(
C;
D[
Attempts:
3 left
💡 Hint
Common Mistakes
Using parentheses or brackets instead of curly braces.
Missing the opening brace causes syntax errors.
4fill in blank
hard

Fill the blank to create an anonymous function that uses a variable from outside its scope.

PHP
$multiplier = 3;
$multiply = function($number) use [1] { return $number * $multiplier; };
Drag options to blanks, or click blank then click option'
A{$multiplier}
B[$multiplier]
C($multiplier)
D<$multiplier>
Attempts:
3 left
💡 Hint
Common Mistakes
Using square brackets or curly braces after 'use' instead of parentheses.
Forgetting the opening curly brace for the function body.
5fill in blank
hard

Fill the two blanks to create and call an anonymous function that returns the square of a number.

PHP
$square = function($n) [1] return $n * $n; [2]
echo $square(5);
Drag options to blanks, or click blank then click option'
A()
B{
C}
D[]
Attempts:
3 left
💡 Hint
Common Mistakes
Using square brackets instead of parentheses for parameters.
Missing opening or closing curly braces.

Practice

(1/5)
1. What is an anonymous function in PHP?
easy
A. A function that is automatically called on page load
B. A function that must always have a name
C. A function without a name, often assigned to a variable
D. A function that can only be used inside classes

Solution

  1. Step 1: Understand function naming

    Anonymous functions do not have a name, unlike regular functions.
  2. Step 2: Recognize assignment to variables

    They are often assigned to variables for later use or callbacks.
  3. Final Answer:

    A function without a name, often assigned to a variable -> Option C
  4. Quick Check:

    Anonymous function = unnamed function assigned to variable [OK]
Hint: Anonymous means no name, usually stored in a variable [OK]
Common Mistakes:
  • Thinking anonymous functions must have names
  • Confusing anonymous functions with class methods
  • Assuming anonymous functions run automatically
2. Which of the following is the correct syntax to create an anonymous function in PHP?
easy
A. $func = anonymous function() { echo 'Hello'; };
B. $func = function() { echo 'Hello'; };
C. function $func() { echo 'Hello'; };
D. $func := function() { echo 'Hello'; };

Solution

  1. Step 1: Identify correct anonymous function syntax

    In PHP, anonymous functions use the keyword function without a name and are assigned to variables.
  2. Step 2: Check each option

    $func = function() { echo 'Hello'; }; uses correct syntax: $func = function() { ... };. Others have invalid keywords or syntax.
  3. Final Answer:

    $func = function() { echo 'Hello'; }; -> Option B
  4. Quick Check:

    Anonymous function syntax = function keyword + no name + assignment [OK]
Hint: Use 'function' keyword without name, assign to variable [OK]
Common Mistakes:
  • Adding 'anonymous' keyword before function
  • Using := instead of = for assignment
  • Trying to name the anonymous function
3. What will be the output of the following PHP code?
$x = 5;
$func = function() use ($x) {
echo $x * 2;
};
$func();
medium
A. 5
B. Error: Undefined variable
C. 0
D. 10

Solution

  1. Step 1: Understand 'use' keyword in anonymous functions

    The use ($x) imports the variable $x from the outer scope into the anonymous function.
  2. Step 2: Calculate the output

    The function echoes $x * 2, which is 5 * 2 = 10.
  3. Final Answer:

    10 -> Option D
  4. Quick Check:

    use imports variable, output = 5*2 = 10 [OK]
Hint: Remember 'use' imports outside variables into function [OK]
Common Mistakes:
  • Forgetting to use 'use' and expecting access to $x
  • Expecting output 5 instead of 10
  • Assuming variable is undefined inside function
4. Identify the error in the following PHP code:
$x = 10;
$func = function() {
echo $x;
};
$func();
medium
A. Variable $x is not accessible inside the anonymous function
B. Missing semicolon after function definition
C. Anonymous functions cannot echo variables
D. Function must have a name

Solution

  1. Step 1: Check variable scope inside anonymous function

    Variables outside anonymous functions are not accessible inside unless imported with use.
  2. Step 2: Identify the error cause

    The code tries to echo $x inside the function without use ($x), causing an undefined variable error.
  3. Final Answer:

    Variable $x is not accessible inside the anonymous function -> Option A
  4. Quick Check:

    Outside variables need 'use' to be accessed inside [OK]
Hint: Use 'use' to access outside variables inside anonymous functions [OK]
Common Mistakes:
  • Assuming outside variables are automatically accessible
  • Thinking anonymous functions must have names
  • Confusing syntax errors with scope errors
5. How can you modify this PHP code to correctly print the sum of two variables using an anonymous function?
$a = 3;
$b = 4;
$sumFunc = function() {
echo $a + $b;
};
$sumFunc();
hard
A. Both A and B are correct ways
B. $sumFunc = function($a, $b) { echo $a + $b; }; $sumFunc($a, $b);
C. $sumFunc = function() use ($a, $b) { echo $a + $b; };
D. Anonymous functions cannot access variables or parameters

Solution

  1. Step 1: Understand variable access in anonymous functions

    Anonymous functions can access outside variables by use or accept parameters.
  2. Step 2: Analyze options

    $sumFunc = function() use ($a, $b) { echo $a + $b; }; uses use ($a, $b) to import variables. $sumFunc = function($a, $b) { echo $a + $b; }; $sumFunc($a, $b); passes variables as parameters. Both are valid.
  3. Final Answer:

    Both A and B are correct ways -> Option A
  4. Quick Check:

    Use 'use' or parameters to access variables inside anonymous functions [OK]
Hint: Use 'use' or function parameters to access variables inside [OK]
Common Mistakes:
  • Forgetting to import variables or pass as parameters
  • Assuming anonymous functions cannot take parameters
  • Trying to access outside variables without 'use'
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