Последнее время очень часто ругают PHP, вот тут
allframeworks.ru/blog/283.html, вот тут
allframeworks.ru/blog/php/297.html и вот на хабре сделали перевод всего этого безобразия
habrahabr.ru/post/142140/.
Лично я согласен практически со всеми мыслями авторов всех этих «разоблачающих» статей. Буквально только что открыл страничку с документацией к функции
unset docs.php.net/manual/en/function.unset.php Это просто что-то с чем-то! Одна и та же функция ведет себя различными способами в зависимости от того где она вызвана и что ей передано (кто там ругал
Perl за его «контексто-зависимость» ?)! На мой личный взгляд, это просто жесть жесткая. Одно радует — раньше я как-то жил и использовал
unset, не зная всех этих подводных камней.
If a globalized variable is unset() inside of a function, only the local variable is destroyed. The variable in the calling environment will retain the same value as before unset() was called.
If a variable that is PASSED BY REFERENCE is unset() inside of a function, only the local variable is destroyed. The variable in the calling environment will retain the same value as before unset() was called.