The global keyword lets you use variables from outside a function inside that function. It helps share data between different parts of your code.
Global keyword behavior in PHP
function example() { global $variableName; // Now $variableName refers to the global variable }
You must declare each global variable inside the function with the global keyword.
It is used inside functions and class methods to access global variables (not class properties).
$number by adding 5.<?php $number = 10; function addFive() { global $number; $number += 5; } addFive(); echo $number;
$message variable to print a greeting.<?php $message = "Hello"; function greet() { global $message; echo $message . " World!"; } greet();
This program uses the global keyword to increase the $count variable inside the function. It calls the function twice, so the count becomes 2.
<?php $count = 0; function increment() { global $count; $count++; } increment(); increment(); echo "Count is: " . $count;
Using many global variables can make your code harder to understand and debug.
Consider passing variables as function arguments when possible for clearer code.
Global variables keep their values between function calls unless changed.
The global keyword lets functions access variables defined outside them.
You must declare each global variable inside the function to use it.
Use global variables carefully to keep your code clean and easy to follow.
Practice
global keyword do in PHP?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
Theglobalkeywordglobalkeyword 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 DQuick Check:
global keyword = access outside variables [OK]
- Thinking global creates a new variable inside the function
- Assuming global deletes variables
- Confusing global with constants
global keyword inside a function to access a variable $count defined outside?Solution
Step 1: Recall PHP syntax for global variables
In PHP, to access a global variable inside a function, you writeglobal $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 AQuick Check:
Correct syntax = global $var; [OK]
- Adding parentheses after global
- Using 'use' or 'extern' keywords incorrectly
- Forgetting the $ sign before variable name
$x = 5;
function test() {
global $x;
$x = $x + 10;
}
test();
echo $x;
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 AQuick Check:
global $x modified to 15 [OK]
- Thinking $x inside function is local and unchanged
- Expecting output 5 or 10 instead of 15
- Assuming error due to global keyword
$count = 10;
function increment() {
$count = $count + 1;
}
increment();
echo $count;
Solution
Step 1: Check variable scope inside function
Inside increment(), $count is treated as a new local variable, not the global one.Step 2: Missing global keyword
To modify the global $count, the function must declareglobal $count;before using it.Final Answer:
Missing global keyword inside function to access $count. -> Option CQuick Check:
global needed to access outside variable [OK]
- Assuming $count inside function is global by default
- Thinking echo outside function causes error
- Confusing syntax errors with scope errors
$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?Solution
Step 1: When using
Both $a and $b inside the function refer to global variables. $b is updated to 3 + 4 = 7 globally.global $a, $b;Step 2: When using
$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.global $a;onlyFinal Answer:
Output is 7 with global $a, $b; and 4 with global $a; only. -> Option BQuick Check:
global vars must be declared to modify them [OK]
- Assuming global $a; also makes $b global
- Expecting output 7 without declaring global $b
- Thinking missing global causes syntax error
Ready to prove it?
Pass the test and this pattern moves unknown
