V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
whatisnew
V2EX  ›  PHP

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

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


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


    所以说你有什么资格质疑世界上最好的语言?
    ashchen
        19
    ashchen  
       2016-01-23 20:02:47 +08:00   ❤️ 1
    如果不用$,那变量的变量如何表示
    Khlieb
        20
    Khlieb  
       2016-01-23 20:05:07 +08:00 via Android
    @xuboying 看来都是继承 perl 的光荣传统😁
    jarlyyn
        21
    jarlyyn  
       2016-01-23 20:16:11 +08:00 via Android
    因为 php 最初只是和做简历用的模板语言,没想那么多。

    嵌入在 html 里的 shell 脚本而已
    jarlyyn
        22
    jarlyyn  
       2016-01-23 20:17:21 +08:00 via Android
    @ashchen

    参考 js.虽然 js 也挺脏的。
    twomoe
        23
    twomoe  
       2016-01-23 23:40:45 +08:00
    为什么要用 $ 表示 dollar ,而不用 Ð 来表示?
    est
        24
    est  
       2016-01-23 23:50:06 +08:00
    @ashchen 用英镑啊 £
    clino
        25
    clino  
       2016-01-24 00:13:56 +08:00 via Android
    我对所有用$表示变量的语言都很厌恶
    googlebot
        26
    googlebot  
       2016-01-24 01:15:53 +08:00 via Android
    学习 c , c++
    最坑的是 obj c
    ajleo
        27
    ajleo  
       2016-01-24 06:43:48 +08:00
    楼主,你一定没见过我大 PHP 最新版的太空船操作符吧?
    <=> <=> <=> <=>
    zonghua
        28
    zonghua  
       2016-01-28 23:47:21 +08:00 via iPhone
    @ashchen 存储过程用 @
    aksoft
        29
    aksoft  
       2016-02-02 14:34:01 +08:00
    php 最有钱图
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5638 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 31ms · UTC 03:23 · PVG 11:23 · LAX 19:23 · JFK 22:23
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.