我看过其他编程语言,似乎大多数编程语言都没有任何符号来表明某些东西是变量。有没有理由为什么PHP解释器需要这样的符号,当其他语言的解释器/编译器能够找出没有这样一个符号的变量时?
是否让翻译更快?是否使工程师更容易创建翻译?它是否使代码更容易阅读?还是其他一些原因?
奖金问题:如果有一个很好的理由让一个符号包含一个变量,为什么不是所有的编程语言都有呢?
This是我能找到的最接近的问题,虽然这个问题似乎不清楚,答案范围从“只是因为”到“这就是为什么它是一个$而不是其他符号”。该线索似乎没有解决美元符号的实际目的。
编辑:从评论中的混淆来看,我的问题一定是非常明确的。为了澄清,我的问题不是“为什么变量前面的符号是$而不是其他符号?”,这是一个问题,在我链接的页面中得到了四个好的答案。我的问题是“为什么PHP中的变量前面有任何符号?在变量前面有一个符号用于什么目的?”答案 0 :(得分:18)
使用符号表示变量使字符串插值变得简单明了。 Shell,Perl和PHP的出现需要快速简单的字符串操作,包括插值,所以我想使用变量前缀似乎是一个好主意。
即。用PHP:
$var = 'val';
$strVar = "The var is $var";
与典型的字符串格式比较:
var = 'val'
strVal = 'The var is %s' %(var)
答案 1 :(得分:1)
我认为这只是它的起源 unix shell和Perl就是例子 如果你仔细观察PHP,你会发现它与shell非常相似 因此,你最好在那里解决你的问题:)
答案 2 :(得分:-1)
在php中,您不必在使用之前设置变量,在其他语言中,您必须在使用变量之前声明变量,如var MyVar = 'my value'
或定义要保留的内容类型。
我不确定,但我认为添加符号的目的是不必声明变量,让apache知道这是一个变量。