![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=1738911287-LqAR9CdDuHvMiqtSFry4IrBIXzUu6yug-0-3c44646815c22faee6c20e6ff20f69e3)
switch语句实例:
![](https://epubservercos.yuewen.com/B097BE/15477656605638806/epubprivate/OEBPS/Images/Figure-P95_73935.jpg?sign=1738911287-82oFIXEHO3vxVVsTqfQoGIHQr2gfHlM3-0-96e7562e1cb82e4319431d019089c79d)
运行结果如下:
![](https://epubservercos.yuewen.com/B097BE/15477656605638806/epubprivate/OEBPS/Images/Figure-P95_73936.jpg?sign=1738911287-cm0GQXSUowa882lfawyzSMXfMwycABYj-0-608780f9b77f66f52c0e2f1384eb8077)
为什么会有这样的差异呢?
应聘者:这是因为switch在执行的时候,如果是用不同类型的参数进行比较,会把case条件以及参数进行类型转换,转成布尔型,再进行下一步的比较。例如,$b=0为false,case里的$b>=10先将$b=0的值传入,然后跟10比较为false,这样$b=0为false,而case里的$b>=10也为false,最后结果就是$b>=10。