V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
cz208209
V2EX  ›  PHP

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

  •  
  •   cz208209 · Sep 22, 2015 · 5114 views
    This topic created in 3869 days ago, the information mentioned may be changed or developed.
    28 replies    2016-02-23 00:18:10 +08:00
    nisnaker
        1
    nisnaker  
       Sep 22, 2015
    怎么就神奇了
    cz208209
        2
    cz208209  
    OP
       Sep 22, 2015
    @nisnaker 你试一下
    nisnaker
        3
    nisnaker  
       Sep 22, 2015
    先是 print '2'
    然后是 echo '1' . 1 + 3
    msxcms
        4
    msxcms  
       Sep 22, 2015   ❤️ 1
    没什么神奇的
    cz208209
        5
    cz208209  
    OP
       Sep 22, 2015
    明白了 print '2'之后会返回 1 然后 214
    justfindu
        6
    justfindu  
       Sep 22, 2015
    话说有什么神奇的~
    jugelizi
        7
    jugelizi  
       Sep 22, 2015
    小学数学没学好?
    括号内优先运算被执行了
    cz208209
        8
    cz208209  
    OP
       Sep 22, 2015
    @nisnaker 明白了 print '2'之后会返回 1 然后 214 忘了 print 会有返回值
    qiayue
        9
    qiayue  
    PRO
       Sep 22, 2015
    print 2 输出 2 同时返回值 1
    1 + 3 = 4
    echo '1'.4 输入 14
    所以连起来就是 214
    cz208209
        10
    cz208209  
    OP
       Sep 22, 2015
    @jugelizi 忘了 print 有回值
    fising
        11
    fising  
       Sep 22, 2015
    print 2 输出 2 返回 1

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

    得到 214
    lianz
        12
    lianz  
       Sep 22, 2015
    所以说, PHP 是最好的语言!!
    wapy
        13
    wapy  
       Sep 22, 2015
    PHP 是最好的语言!!
    0bit
        14
    0bit  
       Sep 22, 2015
    你们 PHPer 真会玩
    shoaly
        15
    shoaly  
       Sep 22, 2015
    赞一个, 有点意思
    show8salary
        16
    show8salary  
       Sep 22, 2015
    PHP 是最好的语言!!
    cz208209
        17
    cz208209  
    OP
       Sep 22, 2015
    @lianz
    @wapy
    @0bit 快跪舔
    barbery
        18
    barbery  
       Sep 22, 2015   ❤️ 1
    这种面试题有意思么
    iyaozhen
        19
    iyaozhen  
       Sep 22, 2015
    print
    Returns 1, always.

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

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

    所以输入是 214
    zonghua
        26
    zonghua  
       Sep 26, 2015
    根本就是个 BUG
    fengmenggaokao
        27
    fengmenggaokao  
       Oct 5, 2015
    Boring
    mrbush
        28
    mrbush  
       Feb 23, 2016
    511
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   5549 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 114ms · UTC 01:29 · PVG 09:29 · LAX 18:29 · JFK 21:29
    ♥ Do have faith in what you're doing.