PHP在每个变量前面有一个符号(美元符号)的目的是什么?

时间:2010-08-29 20:31:29

标签: php variables

  

可能重复:
  Why PHP variables start with a $ sign symbol?

我看过其他编程语言,似乎大多数编程语言都没有任何符号来表明某些东西是变量。有没有理由为什么PHP解释器需要这样的符号,当其他语言的解释器/编译器能够找出没有这样一个符号的变量时?

是否让翻译更快?是否使工程师更容易创建翻译?它是否使代码更容易阅读?还是其他一些原因?

奖金问题:如果有一个很好的理由让一个符号包含一个变量,为什么不是所有的编程语言都有呢?

This是我能找到的最接近的问题,虽然这个问题似乎不清楚,答案范围从“只是因为”到“这就是为什么它是一个$而不是其他符号”。该线索似乎没有解决美元符号的实际目的。

编辑:从评论中的混淆来看,我的问题一定是非常明确的。为了澄清,我的问题不是“为什么变量前面的符号是$而不是其他符号?”,这是一个问题,在我链接的页面中得到了四个好的答案。我的问题是“为什么PHP中的变量前面有任何符号?在变量前面有一个符号用于什么目的?”

3 个答案:

答案 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知道这是一个变量。