您的位置:首页技术文章
文章详情页

一个面试题,没搜到原因,求解答

【字号: 日期:2022-06-04 13:07:52浏览:30作者:猪猪

问题描述

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

输出了true fasle

问题解答

回答1:

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

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

这样能理解?

回答2:

if (true) {

echo 'true'."n";

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

echo 'false'."n";

}

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

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

true

false