Bird
Raised Fist0
PHPprogramming~10 mins

Global keyword behavior 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 access the global variable inside the function.

PHP
<?php
$number = 10;
function showNumber() {
    global [1];
    echo $number;
}
showNumber();
?>
Drag options to blanks, or click blank then click option'
Anumber
B$number
C$GLOBALS
Dglobal
Attempts:
3 left
💡 Hint
Common Mistakes
Including the $ sign after the global keyword.
Using $GLOBALS array instead of the global keyword here.
2fill in blank
medium

Complete the code to modify the global variable inside the function.

PHP
<?php
$count = 5;
function increment() {
    global [1];
    $count++;
}
increment();
echo $count;
?>
Drag options to blanks, or click blank then click option'
A$count
Bglobal
Ccount
D$GLOBALS
Attempts:
3 left
💡 Hint
Common Mistakes
Trying to modify the variable without declaring it global.
Using $count instead of count after global keyword.
3fill in blank
hard

Fix the error in the code to correctly access the global variable inside the function.

PHP
<?php
$value = 20;
function display() {
    echo [1];
}
display();
?>
Drag options to blanks, or click blank then click option'
A$value
Bglobal value
Cvalue
D$GLOBALS['value']
Attempts:
3 left
💡 Hint
Common Mistakes
Using the variable name without $ or global keyword.
Trying to echo the variable directly without global or $GLOBALS.
4fill in blank
hard

Fill both blanks to create a function that modifies a global variable using the $GLOBALS array.

PHP
<?php
$score = 0;
function addPoint() {
    [1]['score'][2];
}
addPoint();
echo $score;
?>
Drag options to blanks, or click blank then click option'
A$GLOBALS
B$score
C++
D--
Attempts:
3 left
💡 Hint
Common Mistakes
Using $score directly inside the function without global or $GLOBALS.
Using the decrement operator instead of increment.
5fill in blank
hard

Fill all three blanks to create a function that resets a global variable to zero using the global keyword.

PHP
<?php
$counter = 10;
function resetCounter() {
    global [1];
    [2] = [3];
}
resetCounter();
echo $counter;
?>
Drag options to blanks, or click blank then click option'
Acounter
B$counter
C0
Dnull
Attempts:
3 left
💡 Hint
Common Mistakes
Using $counter after the global keyword.
Assigning null instead of zero.

Practice

(1/5)
1. What does the global keyword do in PHP?
easy
A. It deletes a variable from the global scope.
B. It creates a new local variable inside the function.
C. It makes a variable constant and unchangeable.
D. It allows a function to access variables defined outside its scope.

Solution

  1. Step 1: Understand variable scopes in PHP

    Variables defined outside functions are in the global scope and not accessible inside functions by default.
  2. Step 2: Role of the global keyword

    The global keyword inside a function tells PHP to use the variable from the global scope instead of creating a new local one.
  3. Final Answer:

    It allows a function to access variables defined outside its scope. -> Option D
  4. Quick Check:

    global keyword = access outside variables [OK]
Hint: Global lets functions use outside variables directly [OK]
Common Mistakes:
  • Thinking global creates a new variable inside the function
  • Assuming global deletes variables
  • Confusing global with constants
2. Which of the following is the correct way to use the global keyword inside a function to access a variable $count defined outside?
easy
A. global $count;
B. use $count;
C. global($count);
D. extern $count;

Solution

  1. Step 1: Recall PHP syntax for global variables

    In PHP, to access a global variable inside a function, you write global $variableName; without parentheses.
  2. Step 2: Check each option

    global $count; uses correct syntax. use $count; is invalid in PHP. global($count); uses parentheses which is incorrect. extern $count; uses 'extern' which is not a PHP keyword.
  3. Final Answer:

    global $count; -> Option A
  4. Quick Check:

    Correct syntax = global $var; [OK]
Hint: Use 'global $var;' without parentheses inside functions [OK]
Common Mistakes:
  • Adding parentheses after global
  • Using 'use' or 'extern' keywords incorrectly
  • Forgetting the $ sign before variable name
3. What will be the output of the following PHP code?
$x = 5;
function test() {
global $x;
$x = $x + 10;
}
test();
echo $x;
medium
A. 15
B. 5
C. 10
D. Error

Solution

  1. Step 1: Understand the initial value of $x

    $x is set to 5 in the global scope before the function call.
  2. Step 2: Effect of the function test()

    Inside test(), global $x; makes $x inside the function refer to the global $x. Then $x is increased by 10, so $x becomes 15 globally.
  3. Final Answer:

    15 -> Option A
  4. Quick Check:

    global $x modified to 15 [OK]
Hint: global lets function change outside variable value [OK]
Common Mistakes:
  • Thinking $x inside function is local and unchanged
  • Expecting output 5 or 10 instead of 15
  • Assuming error due to global keyword
4. Identify the error in this PHP code snippet:
$count = 10;
function increment() {
$count = $count + 1;
}
increment();
echo $count;
medium
A. Variable $count is undefined.
B. Syntax error in function declaration.
C. Missing global keyword inside function to access $count.
D. Cannot echo variable outside function.

Solution

  1. Step 1: Check variable scope inside function

    Inside increment(), $count is treated as a new local variable, not the global one.
  2. Step 2: Missing global keyword

    To modify the global $count, the function must declare global $count; before using it.
  3. Final Answer:

    Missing global keyword inside function to access $count. -> Option C
  4. Quick Check:

    global needed to access outside variable [OK]
Hint: Declare global inside function to modify outside variable [OK]
Common Mistakes:
  • Assuming $count inside function is global by default
  • Thinking echo outside function causes error
  • Confusing syntax errors with scope errors
5. Given the code below, what will be the output?
$a = 3;
$b = 4;
function sum() {
global $a, $b;
$b = $a + $b;
}
sum();
echo $b;

What if global $a, $b; is replaced with global $a; only?
hard
A. Output is 7 in both cases.
B. Output is 7 with global $a, $b; and 4 with global $a; only.
C. Output is 4 with global $a, $b; and 7 with global $a; only.
D. Code causes error without global $b;.

Solution

  1. Step 1: When using global $a, $b;

    Both $a and $b inside the function refer to global variables. $b is updated to 3 + 4 = 7 globally.
  2. Step 2: When using global $a; only

    $a inside function is global, but $b is local and uninitialized. So $b = $a + $b uses local $b (null or 0), $b becomes 3 + 0 = 3 locally, global $b remains 4. echo $b outputs global $b which is 4.
  3. Final Answer:

    Output is 7 with global $a, $b; and 4 with global $a; only. -> Option B
  4. Quick Check:

    global vars must be declared to modify them [OK]
Hint: Declare all globals you want to use inside function [OK]
Common Mistakes:
  • Assuming global $a; also makes $b global
  • Expecting output 7 without declaring global $b
  • Thinking missing global causes syntax error
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