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

2022-08-30 22:22:19

可能的重复:
为什么PHP变量以$符号符号开头?

我看过其他编程语言,似乎它们中的大多数都没有任何符号来表明某些东西是变量。当其他语言的解释器/编译器能够弄清楚没有这种符号的变量是什么时,PHP解释器需要这样的符号,这有什么原因吗?

它是否使口译员更快?它是否使工程师更容易创建解释器?是为了让代码更易于阅读吗?还是其他原因?

奖金问题:如果有充分的理由让一个符号意味着一个变量,为什么不是所有的编程语言都有它呢?

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

编辑:从评论中的混乱来看,我的问题一定是说得很糟糕。为了澄清,我的问题不是“为什么变量前面的符号是$而不是其他符号?”,这个问题被问到,并在我链接到的页面中得到了四个很好的答案。我的问题是“为什么在PHP中变量前面有任何符号?在变量前面有一个符号有什么用呢?


答案 1

使用符号来表示变量使字符串插值变得简单明了。Shell,Perl和PHP源于对快速简便的字符串操作的需求,包括插值,所以我想使用变量前缀似乎是一个好主意。

即在 PHP 中:

$var = 'val';
$strVar = "The var is $var";

与典型的字符串格式比较:

var = 'val'
strVal = 'The var is %s' %(var)

答案 2

我认为这只是从它的起源。
unix shell 和 Perl 就是例子。
如果你仔细观察PHP,你会看到与shell有很多共同点。
因此,您最好在那里解决您的问题:)


推荐