Bird
Raised Fist0
PHPprogramming~5 mins

Global keyword behavior in PHP - Cheat Sheet & Quick Revision

Choose your learning style10 modes available
Recall & Review
beginner
What does the global keyword do in PHP?
It allows a function to access variables defined outside its scope, specifically global variables, by linking the local variable to the global one.
Click to reveal answer
intermediate
How do you access a global variable inside a function without using the global keyword?
You can access global variables using the $GLOBALS array, for example: $GLOBALS['varName'].
Click to reveal answer
beginner
What happens if you modify a global variable inside a function without declaring it global?
The function creates a new local variable with the same name, leaving the global variable unchanged.
Click to reveal answer
beginner
Example: What will this code output?<br><pre> $x = 5;<br>function test() {<br>  global $x;<br>  $x = 10;<br>}<br>test();<br>echo $x;</pre>
It will output 10 because the global keyword links the local $x to the global $x, so the change affects the global variable.
Click to reveal answer
intermediate
Why is using the global keyword sometimes discouraged?
Because it can make code harder to understand and debug by creating hidden dependencies between functions and global state. It's often better to pass variables as parameters.
Click to reveal answer
What does the global keyword do inside a PHP function?
ALinks a local variable to a global variable of the same name
BCreates a new local variable
CDeletes a global variable
DMakes a variable private
How can you access a global variable inside a function without using global?
AUsing <code>const</code> keyword
BUsing <code>static</code> keyword
CUsing the <code>$GLOBALS</code> array
DYou cannot access it
What will happen if you assign a value to a global variable inside a function without declaring it global?
AThe global variable changes
BThe variable becomes constant
CAn error occurs
DA new local variable is created
Which of these is a downside of using the global keyword?
AIt creates hidden dependencies and can make debugging harder
BIt improves performance
CIt makes code easier to read
DIt automatically documents code
Given $a = 3; outside a function, what will echo $a; output after this function?
function change() { global $a; $a = 7; } change();
A3
B7
CError
DNothing
Explain how the global keyword works in PHP functions and why it is used.
Think about variable scope and how functions normally can't see outside variables.
You got /4 concepts.
    Describe the alternatives to using the global keyword for accessing global variables inside functions.
    Consider safer ways to share data between functions.
    You got /4 concepts.

      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