为什么PHP变量以$符号开头?

Bak*_*yor 37 php variables syntax

有没有人想过这个问题.为什么我们必须写$var_name = value;而不是var_name = value;?是的我知道这是PHP使用的语法规则,但为什么它是$符号?

med*_*iev 46

因为PHP是基于使用的Perl $,尽管Perl使用的符号是有意义的,并且用于指示数据类型(例如@用于表示数组),PHP就是这样$.

PHP处于早期阶段是Perl的一个简单版本,但随着时间的推移,它结合了Perl的更多功能,尽管人们可能认为PHP在很长一段时间内是一个简单的Perl原始版本,因为在PHP 5.3之前它不包含已经存在的功能.其他语言,如闭包/命名空间.

http://en.wikipedia.org/wiki/PHP

Perl的创建者Larry Wall受到了$shell脚本的启发:http://en.wikipedia.org/wiki/Sigil_%28computer_programming%29

  • PHP现在有Closures,Namespacing..etc. (5认同)
  • @Itay:但这是一个后缀. (4认同)
  • 我记得用c来标记c64 basic中的字符串变量. (3认同)
  • @Aaron - 即使你确实得到了最新的PHP,与Python/Haskell/Perl /(插入语言)相比,它仍然缺乏功能.有更好的语言,有更多的功能,更有条理,但不是很受欢迎和可访问.而且我是从一个使用PHP的人的角度讲的,而不是那些上述语言. (3认同)

Art*_*ius 8

使用$预先填充所有变量会使代码更容易解​​析,并且符合"Hello $ var"变量嵌入字符串的想法.


Col*_*ole 8

这在计算机语言中很常见,这就是全部.早在Perl之前!例如,查看Commodore 64 BASIC

10 PRINT "WHAT IS YOUR NAME?"
20 INPUT A$
30 IF A$="BAHKTIYOR" THEN PRINT "HEY CHECK OUT THAT DOLLAR SIGN"
Run Code Online (Sandbox Code Playgroud)

然而,在BASIC中,$是在变量名之后.


Zuu*_*uul 7

有趣的回答:

将PHP变量视为人,您为一个人命名并为其分配工作!

但是,如果你不付钱,那个人会拒绝工作,所以,提供一手美元:)

$ Jack ="驾驶我的车";

只是为"游戏"带来乐趣!请享用!

关于一个真正的答案:

$ sign是在计算机编码的早期选择的,因为它几乎是所有字符集代码中的符号,并且在编程语言中很少需要符号!

  • 美元符号表示VALUE. (7认同)
  • 您最初发布时没有"真实"答案. (3认同)
  • @John Kugelman,这是真的,我确实需要编辑我的答案,但这是我用鼠标进行的个人战争;)(有时我想选择一个文本块来给出"评论"标签,而我的鼠标决定删除所选文本......我们之间的个人问题);) (3认同)