为什么 php 变量要用 $ 美元符号,对象链要用 -> 这样的奇怪的东西?

2016-01-23 15:21:14 +08:00
 whatisnew
5535 次点击
所在节点    PHP
29 条回复
zhangchioulin
2016-01-23 15:25:32 +08:00
-> 这个是 C 语言的对 struts 赋值的东西
em70
2016-01-23 15:26:53 +08:00
用$就不用考虑保留字问题了,用->是因为 php 的.已经被用来连接字符串了
congeec
2016-01-23 15:29:02 +08:00
我大胆猜一下,$符号在 shell, perl 里表示变量,->是 C 语言里结构体取成员的符号。然后 php 就抄上了
GGGG430
2016-01-23 15:30:59 +08:00
$(selector).action()
dapang1221
2016-01-23 15:59:45 +08:00
毕竟 PHP 是世界上最好的语言 #(滑稽)
abelyao
2016-01-23 16:11:59 +08:00
相比 -> 感觉 $php::static() 那两个冒号更奇葩…
不过这仍然无法阻止我大 PHP 成为宇宙最好语言!
BOYPT
2016-01-23 16:14:25 +08:00
变量$和 perl 一致,
->和::跟 C++上一致。
skyworker
2016-01-23 16:15:51 +08:00
PHP 当年貌似本来目的就是对 perl 进行改进或者延伸, 然后继承 Perl 中本来就有的$作为变量声明符合,也就不奇怪了
shyling
2016-01-23 16:16:40 +08:00
$学 perl
->学 c
designer
2016-01-23 16:17:38 +08:00
$_$
MaiCong
2016-01-23 16:23:21 +08:00
$:时刻提醒你这行代码价值一美刀,请认真写
->:你只有这样做才能赚取那一美刀
Felldeadbird
2016-01-23 17:21:25 +08:00
fy
2016-01-23 18:06:04 +08:00
以 $ 开头对解释器来说极其方便,判断是不是变量只需要读一个字符。
whatisnew
2016-01-23 19:39:56 +08:00
原来是这样啊。。。
xuboying
2016-01-23 19:44:13 +08:00
大 perl 也有->和::
akagi
2016-01-23 19:44:32 +08:00
perl 里也有 -> 啊
la0wei
2016-01-23 19:52:17 +08:00
几年前就想过这个问题,当时搜到这个页面, http://www.oschina.net/question/119995_46100
基本上楼上都说差不多了
movtoy
2016-01-23 19:53:31 +08:00
很多大公司都靠 PHP 的美元符号赚到大钱了。


很多个人都靠 PHP 的美元符号赚了第一桶金。


所以说你有什么资格质疑世界上最好的语言?
ashchen
2016-01-23 20:02:47 +08:00
如果不用$,那变量的变量如何表示
Khlieb
2016-01-23 20:05:07 +08:00
@xuboying 看来都是继承 perl 的光荣传统😁

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/252843

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX