У меня есть следующая функция:
<?php
function deffunc($param1, $param2)
{
global $var1;
$var1 = "firstvar";
echo $param1;
echo "\n";
echo $param2;
}
$var2 = "secondvar";
deffunc($var1, $var2);
?>
Вызов функции вернет «неопределенную переменную» для $ var1, но я не понимаю, почему она глобальна и определена внутри фигурных скобок функции.Однако, если я использую echo после вызова функции следующим образом:
deffunc($var1, $var2);
echo $var1;
, он вернет результат "firstvar".Я не понимаю, почему echo может читать эту глобальную переменную, установленную внутри функции, но если я вызываю функцию, я получаю ошибку «неопределенная переменная».