一个面试题,没搜到原因,求解答
蜉蝣
蜉蝣 2020-09-16 21:17:37
0
2
970

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

输出了true fasle

蜉蝣
蜉蝣

全部回复(2)
LuLu

false : {    echo 'false'."\n";}换成label : {    echo 'false'."\n";}或者abc : {    echo 'false'."\n";}什么的都是同样的结果

标识符+冒号+代码块   是goto语句的一部分,没有用到goto,你就当它顺序执行好了

这样能理解?

PocketKnife

if (true) {    

echo 'true'."\n";

} else false : { //这里是打错了吧,应该是分号吧,怎么是冒号   

echo 'false'."\n";

}

if..else...判断语句,为true, 所以会输出第一个true,else则不会被执行

最后面的false是单独的语句块,是一定会输出的,所以最后的结果就是

true

false

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板