Только начал изучать PHP, и экспериментируя с переменными областями я создал этот код:PHP переменная Scope понимание
<?php
$x = 5;
function scopeTest($x) {
global $x;
echo $x;
}
scopeTest(4);
?>
В данной функции я прохожу значение 4
, в функции, значение сохраняется в переменная $x
(локальная функция). Выход этого кода: 5
, а не 4
.
Я не знаю, где переменная со значением 4
ушла? Я знаю, что могу это сделать, изменив имя локальной переменной в функции, но я хочу знать поток этой программы, как она выводит 5
.
Является ли локальная переменная $x
переопределенной глобальной переменной $x
?
Есть ли способ получить доступ к локальной переменной $x
значение 4
внутри функции?
Одна из причин, почему использование 'global' это не очень хорошая идея .... это не интуитивно поведение на –
Один из способов, чтобы иметь возможность доступа и является назначение' $ x' аргумент другая переменная, чем глобальная функция functionTest ($ y) { global $ x; echo $ x; echo $ y; } ' –
@MarkBaker спасибо, я уже написал эту вещь в своем вопросе. Я знаю, что могу это сделать, но просто хотел узнать, что происходит за кулисами. –