supersu
V2EX  ›  问与答

请教一下各位 v 友, PHP 像 shell 一样在变量前面要加$符,但为啥又不像 shell 一样只在访问变量时才加呢

  •  
  •   supersu · Mar 15, 2018 · 2073 views
    This topic created in 3072 days ago, the information mentioned may be changed or developed.
    虽然有历史原因但后来咋不找机会改改呢(4.0 之前应该改起来影响比较小,还是说没这个必要呀),这样代码会清爽不少, 至少同样的代码看起来是这样的~
    6 replies    2018-03-16 09:49:15 +08:00
    mario85
        1
    mario85  
       Mar 15, 2018
    PHP 仿的是 Perl,不是 shell
    czzhengkw
        2
    czzhengkw  
       Mar 15, 2018
    语法习惯的问题,熟悉一下即可
    viko16
        3
    viko16  
       Mar 15, 2018 via Android
    那个“我们每个变量都是钱”的梗…
    supersu
        4
    supersu  
    OP
       Mar 15, 2018
    @czzhengkw #2 嗯呐的确要好好熟悉熟悉了,本来以为之前写过一段时间的 shell,现在写 php 应该不用过度太久,可这两天定义变量时没加美元符号,看着 ide 的红色波浪线一脸无辜半天才意识到是语法的问题。。
    msg7086
        5
    msg7086  
       Mar 16, 2018
    因为不能改。不加$就不是变量而是常量,你改了那常量就得全改了。

    而且 PHP 4.0 ?那货都快 20 年前了。
    supersu
        6
    supersu  
    OP
       Mar 16, 2018
    @msg7086 #5 嗯呐也是哦,常量的访问不需要加$符号,如果改了的话是有点冲突,不过感觉不加的话应该可以实现,因为常量的声明不是通过’=‘的,不知道是不是因为第一门脚本语言使用的是 shell,有点先入为主,感觉 Php 即使是常量,声明的时候继续用 define(), 而在访问常量的时候改成加$符号。话说回来,覆水难收,的确是不能轻易改。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   3320 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 30ms · UTC 11:05 · PVG 19:05 · LAX 04:05 · JFK 07:05
    ♥ Do have faith in what you're doing.