🤔 Слово "global" для чего используется?
Ключевое слово global используется в PHP для доступа к глобальным переменным внутри функций.
🚩Как работает `global`?
Доступ к глобальной переменной внутри функции
$counter = 10; // Глобальная переменная
function increment() {
global $counter; // Доступ к глобальной переменной
$counter++;
}
increment();
echo $counter; // ✅ 11
Использование нескольких глобальных переменных
$a = 5;
$b = 10;
function sum() {
global $a, $b;
$b = $a + $b; // Меняем глобальную переменную $b
}
sum();
echo $b; // ✅ 15
🟠Альтернативный способ – `$GLOBALS`
Можно использовать суперглобальный массив $GLOBALS, который хранит все глобальные переменные.
$x = 3;
$y = 7;
function multiply() {
$GLOBALS['y'] = $GLOBALS['x'] * $GLOBALS['y'];
}
multiply();
echo $y; // ✅ 21
🚩Когда `global` – плохая идея?
Глобальные переменные усложняют отладку (их можно случайно изменить).
Функции становятся зависимыми от внешних данных (плохо для тестирования).
Лучше передавать переменные через аргументы функции.
Альтернативный способ (без global)
function increment($counter) {
return $counter + 1;
}
$counter = 10;
$counter = increment($counter);
echo $counter; // ✅ 11
Ставь 👍 и забирай 📚 Базу знаний
Ключевое слово global используется в PHP для доступа к глобальным переменным внутри функций.
🚩Как работает `global`?
Доступ к глобальной переменной внутри функции
$counter = 10; // Глобальная переменная
function increment() {
global $counter; // Доступ к глобальной переменной
$counter++;
}
increment();
echo $counter; // ✅ 11
Использование нескольких глобальных переменных
$a = 5;
$b = 10;
function sum() {
global $a, $b;
$b = $a + $b; // Меняем глобальную переменную $b
}
sum();
echo $b; // ✅ 15
🟠Альтернативный способ – `$GLOBALS`
Можно использовать суперглобальный массив $GLOBALS, который хранит все глобальные переменные.
$x = 3;
$y = 7;
function multiply() {
$GLOBALS['y'] = $GLOBALS['x'] * $GLOBALS['y'];
}
multiply();
echo $y; // ✅ 21
🚩Когда `global` – плохая идея?
Глобальные переменные усложняют отладку (их можно случайно изменить).
Функции становятся зависимыми от внешних данных (плохо для тестирования).
Лучше передавать переменные через аргументы функции.
Альтернативный способ (без global)
function increment($counter) {
return $counter + 1;
}
$counter = 10;
$counter = increment($counter);
echo $counter; // ✅ 11
Ставь 👍 и забирай 📚 Базу знаний