可能重复:
Why PHP variables start with a $ sign symbol?
我看过其他编程语言,它们中的大多数似乎都没有任何符号来表示某个东西是一个变量。当其他语言的解释器/编译器能够弄清楚没有这样的符号的变量是什么时,为什么PHP解释器需要这样的符号,这有什么原因吗?
这会不会让解释器更快呢?这会让工程师更容易创建解释器吗?是为了让代码更容易阅读吗?还是其他什么原因?
额外的问题:如果有一个很好的理由让一个符号包含一个变量,为什么不是所有的编程语言都有呢?
This是我能找到的最接近的问题,尽管这个问题似乎不清楚,答案从“只是因为”到“这就是为什么它是一个$而不是其他符号”。这条帖子似乎并没有解决美元符号的实际用途。
编辑:从评论中的混乱来看,我的问题肯定表达得很糟糕。为了澄清,我的问题不是“为什么符号在变量的前面是$而不是其他的符号?”,这个问题在我链接的页面上被问到并得到了四个很好的答案。我的问题是“在PHP中为什么在变量前面有符号?在变量前面有符号有什么作用?”
发布于 2010-08-30 04:42:00
用一个符号来表示变量使得字符串插值变得简单而清晰。Shell、Perl和PHP产生于对快速、简单的字符串操作的需求,包括插值,所以我想使用变量前缀似乎是一个好主意。
即在PHP中:
$var = 'val';
$strVar = "The var is $var";
与典型的字符串格式相比:
var = 'val'
strVal = 'The var is %s' %(var)
发布于 2010-08-30 04:58:51
我认为这只是它的起源。
unix shell和Perl就是例子。
如果你仔细观察PHP,你会发现它和shell有很多相似之处。
因此,您最好在那里解决您的问题:)
发布于 2010-08-30 04:48:37
在php中,你不必在使用它之前设置变量,在其他语言中,你必须在使用它之前声明变量,比如var MyVar = 'my value'
,或者定义要保存的内容类型。
我不确定,但我认为添加符号的目的是不必声明变量,并让apache知道这是一个变量。
https://stackoverflow.com/questions/3596474
复制相似问题