哪个是更好,最快的方法:if或switch?
if(x==1){
echo "hi";
} else if (x==2){
echo "bye";
}
switch(x){
case 1
...
break;
default;
}
您的第一个示例就是错误的。您需要elseif
的不仅仅是else
。
如果使用if..elseif...
或switch
主要是偏好设置。表现是一样的。
然而,如果所有条件的类型x == value
与x
是相同的在每一个条件,switch
通常是有道理的。我也只会switch
在有两个以上条件的情况下使用。
其中A的情况下switch
,其实是给予你一个性能上的优势是,如果可变部分是一个函数调用:
switch(some_func()) {
case 1: ... break;
case 2: ... break;
}
然后some_func()
仅在
if(some_func() == 1) {}
elseif(some_func() == 2) {}
它会被调用两次-包括函数调用可能发生的两次副作用。但是,你总是可以使用$res = some_func();
,然后用$res
你的if
条件-
这样就可以避免这个问题产品总数。
在那里你的情况 不能 在所有使用开关是当你有更复杂的条件- switch
仅适用于x == y
有y
是一个恒定值。
问题内容: 如果您的目标是测试MySQL列中是否存在字符串(类型为’varchar’,’text’,’blob’等),那么以下哪一项是更快/更有效/更好地使用,为什么? 或者,还有其他方法可以胜任这些方法吗? 与 问题答案: 正如kibibu在上述评论中指出的,FULLTEXT搜索绝对会更快。 但是 : 在我的测试中,它们的表现完全相同。它们都不区分大小写,并且通常会执行全表扫描,这在处理高性能M
我想知道>是否比>=更快?我试着对其进行基准测试,但要么需要0ms,要么需要永远。我知道差别会很小,但我必须在很多像素上操作。有人能告诉我什么更快吗?
问题内容: 许多Java书籍都将该语句描述为比该语句快。但是我没有找到任何地方为什么切换比if更快。 例 我有一种情况,我必须选择两项中的任何一项。我可以使用 要么 考虑item和BREAD是一个恒定的int值。 在上面的示例中,哪个操作更快,为什么? 问题答案: 因为有很多情况下,有一些特殊的字节码可以有效地评估switch语句。 如果使用IF语句实现,则将进行检查,跳转到下一个子句,进行检查,
这是一位高级经理问的面试问题。 哪个更快? 我说过,这两者具有相同的执行速度,因为内部的表达式最终应计算为或。在这种情况下,两者的计算结果都为,条件中没有额外的条件指令。因此,两者的执行速度相同,我更喜欢while(1)。 但面试官自信地说:“检查一下你的基础,比要快。”(他不是在考验我的信心) 这是真的吗?
问题内容: 我正在使用iPad HTML5应用程序,并且已经实现了ontouch支持以更快地触发事件,并且我使用jQuery来更轻松地定位元素,但是对于动画,我使用的是CSS3过渡 您觉得更快吗?使用jQuery动画,因为我已经导入了库或在使用jQuery定位元素时使用CSS3过渡? 问题答案: jQuery动画要比CSS动画慢得多。 原因 可能是因为jquery必须使用计时器和循环来修改DOM元
问题内容: 我想知道是否有人知道如何设置显示在外壳中的文本的颜色。我注意到“ ls”在将信息打印到屏幕上(在Linux盒子上)时使用了几种不同的颜色,想知道我是否可以在Python中利用它。 问题答案: 使用Curses或ANSI转义序列。开始喷射转义序列之前,应检查stdout是tty。您可以使用。这是一个从我的项目中提取的函数,该函数使用ANSI转义序列根据状态以红色或绿色打印输出: