Как работают некоторые аспекты суперглобалистов по отношению к функциям в PHP? - PullRequest
1 голос
/ 04 мая 2020

Я новичок в программировании и на этом веб-сайте, поэтому заранее прошу прощения, если неправильно сформулирую свои вопросы или не знаю, как правильно общаться. Я слышал, что использование глобальных переменных - плохая практика, но я просто стремлюсь узнать и понять обширный мир кодирования и реализовать полученные знания.

Я встречал этот код в w3schools. com (https://www.w3schools.com/php/php_superglobals_globals.asp) веб-сайт:

<?php 
$x = 75; 
$y = 25;

function addition() { 
    $GLOBALS['z'] = $GLOBALS['x'] + $GLOBALS['y']; 
}

addition(); 
echo $z; 
?>

Результат кода был: 100

Затем веб-сайт сказал:

"В приведенном выше примере, поскольку z - это переменная, присутствующая в массиве $ GLOBALS, она также доступна извне функции!"

Является ли $ z глобальной переменной, которая была объявлена ​​внутри функция? Можете ли вы создать переменную, а затем просто объявить ее в другой части кода? Я также думал, что вам нужно создать глобальную переменную перед вызовом функции, чтобы суперглобальный элемент мог работать внутри функции?

Следующий код - простой пример, который я пытался создать:

<?php

function add() {
    echo $GLOBALS['a'] = "hello world";
}

add();

?>

Мой результат: hello world

Почему вы можете запустить функцию в PHP, используя суперглобальную переменную, когда глобальная переменная никогда не создавалась?

Я ценю любую обратная связь - спасибо

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...