我知道这可能是一个简单的问题,但想知道每个人的意见.
PHP中的switch和IF函数有什么区别?我能看到的是"切换"功能使用"IF"功能的地方也适用于那里......如果我错了,请纠正我.
或两者之间的任何表现明智的区别?
Pek*_*ica 19
或两者之间的任何表现明智的区别?
忘掉这个级别上的性能差异 - 可能是微观的,但只有在完成数十万次操作时才能感受到它.switch 是一个更好的代码可读性和可维护性的构造:
switch ($value)
{
case 1: .... break;
case 2: .... break;
case 3: .... break;
case 4: .... break;
case 5: .... break;
default: .... break;
}
Run Code Online (Sandbox Code Playgroud)
大多比干净和可读得多
if ($value == 1) { .... }
elseif ($value == 2) { .... }
elseif ($value == 3) { .... }
elseif ($value == 4) { .... }
elseif ($value == 5) { .... }
else { .... }
Run Code Online (Sandbox Code Playgroud)
编辑:灵感来自Kuchen的评论,为了完整性,一些基准测试(结果会有所不同,这是一个现场评论).请记住,这些是运行1,000次的测试.几个人的差异if是完全可以忽略不计的.
结论(来自phpbench.com):
使用开关/ case或if/elseif几乎相同.请注意,测试是没有= =(完全等于),并且比使用==(等于)稍快.