Странное поведение, присвоение неопределенной переменной по ссылке
Я просто изучаю, как таблицы символов и контейнеры переменных работают вместе со ссылками. И я узнал, что
<?php
$a = & $b;
?>
не выдает извещение "Неопределенная переменная: b in...", в то время как
<?php
$a = $b;
?>
делает.
Зачем?
1 ответ
Решение
Из руководства: http://php.net/manual/en/language.references.whatdo.php
Примечание. Если вы назначите, передадите или вернете неопределенную переменную по ссылке, она будет создана.
Что касается того, почему, я бы просто предположил, что php выделяет память и присваивает $a и $b обоим взглядам на это место в памяти. Это документированное поведение, хотя.