Наличие символа для обозначения переменных делает интерполяцию строк простой и понятной. Shell, Perl и PHP выросли из-за необходимости быстрой и простой обработки строк, включая интерполяцию, поэтому я думаю, что использование префикса переменной кажется хорошей идеей.
Т.е. в PHP:
$var = 'val';
$strVar = "The var is $var";
Сравните с типичным форматированием строк:
var = 'val'
strVal = 'The var is %s' %(var)
Я думаю, что это просто из-за его происхождения.
Unix shell и Perl были примерами.
если вы внимательно посмотрите на PHP, вы увидите очень много общего с оболочкой.
Так что лучше адресовать свой вопрос туда :)
В php вам не нужно устанавливать переменные перед их использованием, в других языках вам нужно объявлять переменные перед их использованием, например var MyVar = 'my value'
или определять, какой контент собирается держать.
Я не уверен, но я думаю, что цель добавления символа заключалась в том, чтобы не объявлять переменные и чтобы apache знал, что это переменная.