4.5 就业面试技巧与解析

面试官:在PHP中做条件判断,常用的是if…elseif和switch语句,虽然都能完成条件判断的任务,但是两者之间还是有不同的,例如下面代码:

if…elseif语句实例:

switch语句实例:

运行结果如下:

为什么会有这样的差异呢?

应聘者:这是因为switch在执行的时候,如果是用不同类型的参数进行比较,会把case条件以及参数进行类型转换,转成布尔型,再进行下一步的比较。例如,$b=0为false,case里的$b>=10先将$b=0的值传入,然后跟10比较为false,这样$b=0为false,而case里的$b>=10也为false,最后结果就是$b>=10。