BigWindow
Новичок
Ссылки. Область видимости в функциях.
Всем привет!
Ниже приведен пример из мануала по ссылкам:
Собственно вопрос: почему вариант $var2 =& $var1 не работает?
Как было сказано в мануале "Думайте о global $var; как о сокращении от $var =& $GLOBALS['var'];. Таким образом, присвоение $var другой ссылки влияет лишь на локальную переменную.".
Исходя из этого, переменная $var2 принимает ссылку на те же данные, что и указывает $GLOBALS['var2'].
Не понятна данная ситуация. Может кто пояснит?
Всем привет!
Ниже приведен пример из мануала по ссылкам:
PHP:
<?php
$var1 = "Example variable";
$var2 = "";
function global_references($use_globals)
{
global $var1, $var2;
if (!$use_globals) {
$var2 =& $var1; // только локально
} else {
$GLOBALS["var2"] =& $var1; // глобально
}
}
global_references(false);
echo "значение var2: '$var2'\n"; // значение var2: ''
global_references(true);
echo "значение var2: '$var2'\n"; // значение var2: 'Example variable'
?>
Как было сказано в мануале "Думайте о global $var; как о сокращении от $var =& $GLOBALS['var'];. Таким образом, присвоение $var другой ссылки влияет лишь на локальную переменную.".
Исходя из этого, переменная $var2 принимает ссылку на те же данные, что и указывает $GLOBALS['var2'].
Не понятна данная ситуация. Может кто пояснит?


