搜尋

首頁  >  問答  >  主體

一個面試題,沒搜到原因,求解答

if (true) {    echo 'true'."\n";} else false : {    echo 'false'."\n";}

#輸出了true fasle

蜉蝣蜉蝣1529 天前978

全部回覆(2)我來回復

  • LuLu

    LuLu2020-10-20 20:56:58

    false : {    echo 'false'."\n";}換成label : {    echo 'false'."\n";}或abc : {    echo 'false'."\n";}什麼的都是同樣的結果

    標識符冒號代碼塊   是goto語句的一部分,沒有用到goto,你就當它順序執行好了

    這樣能理解?

    #

    回覆
    0
  • PocketKnife

    PocketKnife2020-09-25 19:07:51

    if (true) {    

    echo 'true'."\n";

    } else false : { //這裡是打錯了吧,應該是分號吧,怎麼是冒號   

    echo 'false'."\n";

    }

    if..else...判斷語句,為true, 所以會輸出第一個true,else則不會被執行

    最後面的false是單獨的語句區塊,是一定會輸出的,所以最後的結果就是

    true

    false

    #

    回覆
    0
  • 取消回覆