История изменений
Исправление no-such-file, (текущая версия) :
В php не так. В php не надо объявлять переменную. ПОэтому если ты используешь переменну с тем же именем, это та же переменная, самоочевидно.
В php область видимости точно такая же и твой пример из стартового поста будет работать точно также «неожиданно». Дело тут не в объявлении переменной, а в обозначении локальных/глобальных переменных. В некоторых языках, в т.ч. js нужно обозначать локальные переменные, а остальные считаются глобальными. В пыхе и питоне наоборот, нужно обозначать глобальные переменные, а остальные считаются локальными. Первый подход (как в js) более древний и вообще более характерен для «скриптовых» языков в исконном смысле, в частности он используется в sh и perl.
Когда ты делаешь var ты предполагаешь что ты объявляешь переменную
Нет, это ты предполагаешь, потому что у тебя пробел в знаниях. Грамотные люди знают, что в динамических языках не требуется объявлять переменную, но можно использовать модификаторы видимости.
Исходная версия no-such-file, :
В php не так. В php не надо объявлять переменную. ПОэтому если ты используешь переменну с тем же именем, это та же переменная, самоочевидно.
В php область видимости точно такая же и твой пример из стартового поста будет работать точно также «неожиданно». Дело тут не в объявлении переменной, а в обозначении локальных/глобальных переменных. В некоторых языках, в т.ч. js нужно обозначать локальные переменные, а остальные считаются глобальными. В пыхе и питоне наоборот, нужно обозначать глобальные переменные, а остальные считаются локальными. Первый подход (как в js) более древний и вообще более характерен для «скриптовых» языков в исконном смысле, в частности он используется в sh и perl.