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
✗ Incorrect
The global keyword links the local variable to the global variable with the same name.
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
✗ Incorrect
The $GLOBALS array holds all global variables and can be used inside functions.
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
✗ Incorrect
Without global, the assignment creates a new local variable.
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
✗ Incorrect
Using global can hide dependencies and make code harder to maintain.
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
✗ Incorrect
The global keyword links the function's $a to the global $a, so the value changes to 7.
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
Step 1: Understand variable scopes in PHP
Variables defined outside functions are in the global scope and not accessible inside functions by default.
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.
Final Answer:
It allows a function to access variables defined outside its scope. -> Option D
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
Step 1: Recall PHP syntax for global variables
In PHP, to access a global variable inside a function, you write global $variableName; without parentheses.
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.
Final Answer:
global $count; -> Option A
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
Step 1: Understand the initial value of $x
$x is set to 5 in the global scope before the function call.
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.
Final Answer:
15 -> Option A
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
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
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.
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.
Final Answer:
Output is 7 with global $a, $b; and 4 with global $a; only. -> Option B
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 unknownstrongwhile earning +1 Grip toward your certificate.