内容简介:一直都特别好奇 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 脚本语言都是前边添加$这样定义变量的,为的是区分字符和变量。
至于后边的便于解释器优化,容易使 程序员 一眼看到那些是变量,变量起名更自由,等等解释。都是以后的事儿了。大家做阅读理解嘛,请解释一下作者写这段话的心理活动,类似这种的。
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网
猜你喜欢:- macos – dyld:惰性符号绑定失败:未找到符号:_PQsetErrorContextVisibility
- 嵌入式C语言自我修养 09:链接过程中的强符号和弱符号
- Scala中的符号
- “Bug-O” 符号
- 简单理解符号执行技术
- GCC 符号表小结
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。