为什么PHP中的变量前边要加’$’符号

栏目: PHP · 发布时间: 5年前

内容简介:一直都特别好奇 PHP 中的变量前边都加 $ 符号。别的大众编程语言从没见过这种设定,比如:java,c#,c,c++,go,Ruby,python 甚至连写法被吐槽最多的 Objective-c 都没有。那么这种设定是怎么来的?为什么要这样做呢。OK,我的第一篇 IT考古文章就来研究探寻一下这个问题。下面是我人肉过滤掉噪音信息后得到的回答:

为什么 PHP 中的变量前边要加’$’符号

一直都特别好奇 PHP 中的变量前边都加 $ 符号。别的大众编程语言从没见过这种设定,比如:java,c#,c,c++,go,Ruby,python 甚至连写法被吐槽最多的 Objective-c 都没有。那么这种设定是怎么来的?为什么要这样做呢。

OK,我的第一篇 IT考古文章就来研究探寻一下这个问题。

下面是我人肉过滤掉噪音信息后得到的回答:

历史问题,unix那时候就存在了,SHELL,PERL。。。等脚本语言都是那样定义变量的,主要是区分字符和变量。例如 echo test就是字符"test",echo $test就是输出变量的值。——by umbrella1984
1、加一个$可以使解释程序大为简化,从而提高运行速度
2、php出世的时候 perl 已经比较流行了,所以加一个$可以吸引众多的perl程序员转向
——by xuzuning
加了$,又可以多使用一些单词做为变量名,不受保留字的影响,变量命名更自由,并且解释器在文本中只要搜索到'$'就可以判断其为变量了。而不用像其他编译型语言那样,总是查找已定义的变量表来判断变量。

不过你说的那个在编辑器中变量名文本拷贝的问题确实挺麻烦,双击一个单词后,它是不会将'$'选中的。还是要手动筛选
——by Metal Lovers

最后奉上一种貌似靠谱,但是最扯最迷惑人的解释

网友1:

!     表示“非”被用到判断中了if(!isset...)
@   被用到防止 SQL 输出错误信息了
#    常用的注释符号,UNIX系统下#有它的重大意思
%   被用作SQL模糊匹配和ASP程序
^     被用作正则中了
&    就更不用说了,被表示成and($a && $b)
*     这个符号更不能用了,还记得SQL语句中的SELECT * 吗?
()   也是不合理的,要不然你得判断语句还怎么写
-+ 这属于运算符号,也不能用
';   之类的就更别提了。。。

你看看,PHP除了用$符号还有什么好的选择?
——by https://blog.csdn.net/ITofwanyifei/article/details/40450553

PHP的产生历史

PHP 最初是1994年Rasmus Lerdorf创建的,刚刚开始只是一个简单的用Perl语言编写的程序,用来统计他自己网站的访问者。后来又用 C语言 重新编写,包括可以访问数据库。在1995年以Personal Home Page Tools (PHP Tools) 开始对外发表第一个版本,Lerdorf写了一些介绍此程序的文档,并且发布了PHP1.0。在这早期的版本中,提供了访客留言本、访客计数器等简单的功能。以后越来越多的网站使用了PHP,并且强烈要且增加一些特性,比如循环语句和数组变量等等,在新的成员加入开发行列之后,在1995年中,PHP2.0发布了。第二版定名为PHP/FI(Form Interpreter)。PHP/FI加入了对mSQL的支持,从此建立了PHP在动态网页开发上的地位。

注意这里明确指出,PHP最开始是用 Perl 编写的程序。这就是 PHP 天生的基因。而 Perl 语言里面的变量就是用 $ 表明的。

参考 PHP的历史

所以总结

PHP 是由 Perl 进化而来的。而那个年代,所有的 类Unix 脚本语言都是前边添加$这样定义变量的,为的是区分字符和变量。

至于后边的便于解释器优化,容易使 程序员 一眼看到那些是变量,变量起名更自由,等等解释。都是以后的事儿了。大家做阅读理解嘛,请解释一下作者写这段话的心理活动,类似这种的。


以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

编程珠玑

编程珠玑

Jon Bentley / 人民邮电出版社 / 2006-11 / 28.0

《编程珠玑》第一版是我早期职业生涯中阅读过的对我影响较大的书籍之一,在书中首次接触到的很多观点都让我长期受益。作者在这一版本中做了重要更新,新增加的很多例子让我耳目一新。——Steve McConnell,《代码大全》作者  如果让程序员列举出他们喜欢的书籍,Jon Bentley的《编程珠玑》一定可以归于经典之列。如同精美的珍珠出自饱受沙砾折磨的牡蛎,程序员们的精彩设计也来源泉于曾经折磨他们的实......一起来看看 《编程珠玑》 这本书的介绍吧!

html转js在线工具
html转js在线工具

html转js在线工具

RGB HSV 转换
RGB HSV 转换

RGB HSV 互转工具

RGB CMYK 转换工具
RGB CMYK 转换工具

RGB CMYK 互转工具