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

PHP 的一道题 谁来指点一下?题: echo '1' . (print '2') + 3 输出 214 太神奇了。。。。

  •  
  •   laucie · 2015-09-22 11:21:58 +08:00 · 4142 次点击
    这是一个创建于 3141 天前的主题,其中的信息可能已经有所发展或是发生改变。
    28 条回复    2016-02-23 00:18:10 +08:00
    nisnaker
        1
    nisnaker  
       2015-09-22 11:24:17 +08:00
    怎么就神奇了
    laucie
        2
    laucie  
    OP
       2015-09-22 11:25:06 +08:00
    @nisnaker 你试一下
    nisnaker
        3
    nisnaker  
       2015-09-22 11:26:33 +08:00
    先是 print '2'
    然后是 echo '1' . 1 + 3
    msxcms
        4
    msxcms  
       2015-09-22 11:28:59 +08:00   ❤️ 1
    没什么神奇的
    laucie
        5
    laucie  
    OP
       2015-09-22 11:29:27 +08:00
    明白了 print '2'之后会返回 1 然后 214
    justfindu
        6
    justfindu  
       2015-09-22 11:29:30 +08:00
    话说有什么神奇的~
    jugelizi
        7
    jugelizi  
       2015-09-22 11:29:33 +08:00
    小学数学没学好?
    括号内优先运算被执行了
    laucie
        8
    laucie  
    OP
       2015-09-22 11:30:02 +08:00
    @nisnaker 明白了 print '2'之后会返回 1 然后 214 忘了 print 会有返回值
    qiayue
        9
    qiayue  
       2015-09-22 11:30:06 +08:00
    print 2 输出 2 同时返回值 1
    1 + 3 = 4
    echo '1'.4 输入 14
    所以连起来就是 214
    laucie
        10
    laucie  
    OP
       2015-09-22 11:30:37 +08:00
    @jugelizi 忘了 print 有回值
    fising
        11
    fising  
       2015-09-22 11:56:14 +08:00
    print 2 输出 2 返回 1

    '1' . (print '2') + 3 => '1' . 1 + 3 => 14

    得到 214
    lianz
        12
    lianz  
       2015-09-22 11:58:44 +08:00
    所以说, PHP 是最好的语言!!
    wapy
        13
    wapy  
       2015-09-22 12:01:47 +08:00
    PHP 是最好的语言!!
    0bit
        14
    0bit  
       2015-09-22 12:18:23 +08:00
    你们 PHPer 真会玩
    shoaly
        15
    shoaly  
       2015-09-22 13:16:15 +08:00
    赞一个, 有点意思
    show8salary
        16
    show8salary  
       2015-09-22 13:17:41 +08:00
    PHP 是最好的语言!!
    laucie
        17
    laucie  
    OP
       2015-09-22 13:21:44 +08:00
    @lianz
    @wapy
    @0bit 快跪舔
    barbery
        18
    barbery  
       2015-09-22 13:28:57 +08:00   ❤️ 1
    这种面试题有意思么
    iyaozhen
        19
    iyaozhen  
       2015-09-22 13:39:51 +08:00
    print
    Returns 1, always.

    长见识了,第一次知道。
    ronaldm
        20
    ronaldm  
       2015-09-22 14:23:15 +08:00
    @jugelizi 什么括号内的先运算,是 echo 后面的函数先运算,好吧。
    jackxiao
        21
    jackxiao  
       2015-09-22 14:37:02 +08:00
    撞脸了。。
    laucie
        22
    laucie  
    OP
       2015-09-22 14:40:42 +08:00
    @jackxiao 旺旺。。旺旺。。旺旺。。
    BOYPT
        23
    BOYPT  
       2015-09-22 23:14:09 +08:00
    这么看来谭浩强应该出一本 PHP
    laucie
        24
    laucie  
    OP
       2015-09-22 23:18:59 +08:00
    @BOYPT 谭天师的书我看了两遍 入门
    flydogs
        25
    flydogs  
       2015-09-25 11:57:42 +08:00
    echo '1' . (print '2') + 3

    相当于
    $x = print '2'; //x=1 output:2
    echo '1'. $x+3; // output: 14

    所以输入是 214
    zonghua
        26
    zonghua  
       2015-09-26 10:46:46 +08:00
    根本就是个 BUG
    fengmenggaokao
        27
    fengmenggaokao  
       2015-10-05 11:12:57 +08:00
    Boring
    mrbush
        28
    mrbush  
       2016-02-23 00:18:10 +08:00
    511
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   1088 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 29ms · UTC 18:50 · PVG 02:50 · LAX 11:50 · JFK 14:50
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.