Какова цель PHP, имеющего символ (знак доллара) перед каждой переменной?
Возможный дубликат:
Почему переменные PHP начинаются со знака $sign?
Я просмотрел другие языки программирования, и кажется, что большинство из них не имеют никакого символа, чтобы показать, что что-то является переменной. Есть ли причина, почему интерпретатору PHP нужен такой знак, когда интерпретаторы/компиляторы для других языков способны выяснить, что такое переменная без такого символа?
Помогает ли переводчик быстрее? Помогает ли инженерам создавать интерпретатор? Это сделать код более легким для чтения? Или какая-то другая причина?
Бонусный вопрос: И если есть веская причина иметь символ, обозначающий переменную, почему у него не все языки программирования?
Этот вопрос является самым близким вопросом, который я мог найти, хотя вопрос кажется неясным, и ответы варьируются от "только потому, что" до "вот почему это $, а не какой-то другой символ" . Этот поток, похоже, не затрагивает фактическую цель знака доллара.
EDIT: Мой вопрос, должно быть, был ужасно сформулирован, судя по путанице в комментариях. Чтобы уточнить, мой вопрос не "Почему символ перед переменной a $, а не какой-то другой символ?", Вопрос, который был задан, и получил четыре хороших ответа на странице, с которой я связан. Мой вопрос: "Почему в PHP существует какой-либо символ перед переменной? Какую цель она имеет для символа перед переменной?"
Ответы
Ответ 1
Наличие символа для обозначения переменных делает строчную интерполяцию простой и понятной. Shell, Perl и PHP возникли из-за необходимости быстрой и простой манипуляции строк, включая интерполяцию, поэтому я предполагаю, что использование префикса переменной казалось хорошей идеей.
т.е. в PHP:
$var = 'val';
$strVar = "The var is $var";
Сравнение с типичным форматированием строк:
var = 'val'
strVal = 'The var is %s' %(var)
Ответ 2
Я думаю, что это просто из его истоков.
Unix-оболочки и Perl.
если вы посмотрите PHP ближе, вы увидите очень много общего с оболочкой.
Таким образом, вам лучше обратиться к вашему вопросу:)
Ответ 3
В php вам не нужно устанавливать переменные перед их использованием, а на других языках вы должны объявлять переменные перед тем, как использовать их как var MyVar = 'my value'
или определить, какой контент будет удерживаться.
Я не уверен, но я думаю, что цель добавления символа состояла в том, чтобы не объявлять переменные и не позволять apache знать, что это переменная.