![PHP 从入门到项目实践(超值版)](https://wfqqreader-1252317822.image.myqcloud.com/cover/705/27111705/b_27111705.jpg)
上QQ阅读APP看书,第一时间看更新
4.5 就业面试技巧与解析
面试官:在PHP中做条件判断,常用的是if…elseif和switch语句,虽然都能完成条件判断的任务,但是两者之间还是有不同的,例如下面代码:
if…elseif语句实例:
![](https://epubservercos.yuewen.com/B097BE/15477656605638806/epubprivate/OEBPS/Images/Figure-P95_73934.jpg?sign=1738882313-dKaqeg751KSyTK4JmRHdXgGY31kCangB-0-0cfbc2fae1151b7e3ea265b0371a94d5)
switch语句实例:
![](https://epubservercos.yuewen.com/B097BE/15477656605638806/epubprivate/OEBPS/Images/Figure-P95_73935.jpg?sign=1738882313-TwfE1LJNdAJABTJeM8hdU8VieuNAgBTS-0-e97e97055332342743fe6393ddf38e4c)
运行结果如下:
![](https://epubservercos.yuewen.com/B097BE/15477656605638806/epubprivate/OEBPS/Images/Figure-P95_73936.jpg?sign=1738882313-gtkKcNV4tyqKVEiX3IIeQ3ji3Gip8Tcl-0-780cd981c510537e38ea1bbc2f540000)
为什么会有这样的差异呢?
应聘者:这是因为switch在执行的时候,如果是用不同类型的参数进行比较,会把case条件以及参数进行类型转换,转成布尔型,再进行下一步的比较。例如,$b=0为false,case里的$b>=10先将$b=0的值传入,然后跟10比较为false,这样$b=0为false,而case里的$b>=10也为false,最后结果就是$b>=10。