首页 / 知识
关于php:if语句条件优化
2023-04-13 15:40:00

if statement condition optimisation我有一个带两个条件的if语句(由OR运算符分隔),其中一个条件覆盖了70%的情况,并且处理/执行所需的时间比第二个条件少得多,因此仅出于速度I的考虑如果第一个条件评估为false,则希望处理第二个条件。 如果我对条件进行排序,以便第一个条件(较快的条件)首先出现在if语句中-在满足此条件并评估为true的情况下,是否还要处理第二个条件?
还是我需要嵌套两个if语句以仅在第一个条件为false时才检查第二个条件?
我正在使用PHP,但是我认为这可能与语言无关。 对于C,C,C#,Java和其他.NET语言,布尔表达式进行了优化,以便一旦知道足够多的内容,就不会对其进行评估。 执行混淆代码的一个老技巧是使用它来创建if语句,例如:
如果" a"为真,则" b()"将永远不会被求值,因此我们可以将其重写为:
,类似地:
将成为
请注意,这仅对||有效和 n 几乎每种语言都进行短路评估。意味着仅在绝对必要时才评估第二个条件。为此,大多数语言都使用双管道||,而不是单管道|。 请参阅http://en.wikipedia.org/wiki/短路评估 n n n n n n 在大多数经过适当优化的语言中,前者可以正常工作。 因为这是与语言无关的标签,所以我会介绍一下。至少对于Perl来说,第一种选择就足够了,我对PHP并不熟悉。它从左到右求值,并在满足条件时退出。 |
最新内容
相关内容
优化 Python 程序的内存占用
优化 Python 程序的内存占用,代码,数据,情况,培训,对象,字典,内存,垃圾,程序,机制,Python的垃圾回收机制通过引用计数来决定一个对象要不要被如何提速优化python代码?
如何提速优化python代码?,代码,时间,数据,新增,写法,包装,情况,下来,面临,工作,Python是一种脚本语言,相比C/C++这样的编译语言,在效率和性能方Python单条语句计时
Python单条语句计时,工具,对比,分析,时间,入口,标准,位置,网络,数据,培训,上下文管理器和timeit.timeit()方法也适合单条语句计时。除此之外,Python 条件对象
Python 条件对象,状态,培训,对象,条件,线程,方法,底层,发生,场景,典型,条件对象总是与某种类型的锁对象相关联,锁对象可以通过传入获得,或者在Python 基本语句
Python 基本语句,培训,语句,条件,结果,逻辑,字符串,序列,完整性,事情,以上,1.条件语句在进行逻辑判断时,我们需要用到条件语句,Python提供了ifpython 的条件判断语句
python 的条件判断语句,代码,培训,语句,条件,冒号,整数,序列,函数,逻辑,元素,条件判断if语句(注意不要少写了冒号:。)if:elif:elif:Elseif语python中有跳转语句吗?
python中有跳转语句吗?,培训,语句,桔子,继续,嵌套,条件下,剩余,表示,结果,示例,python中有跳转语句,分别是continue语句,跳过本次循环;break语python如何无限循环语句
python如何无限循环语句,异常,培训,语句,程序,单片机,下面,以上,语言,发生,功能,python的无限循环语句何为循环:在编程中,一个无法靠自身的控制python里的if语句怎么写
python里的if语句怎么写,标准,培训,情况,左侧,右侧,语句,两侧,根据,结构,写法,python里的if语句写法:if结构if结构允许程序做出选择,并根据不同python怎么使用循环语句
python怎么使用循环语句,培训,语句,条件,表达式,详解,两者,命令,下面,区别,次数,python中的循环语句,可使用for循环,或者while循环。两者的区别python语句加分号吗
python语句加分号吗,代码,培训,分号,语句,以上,时候,建议,更多,内容,python分号使用不加分号代码>>>classPerson:name=tomage=18>>>p1=Persopythonreplace语句报错怎么解决
pythonreplace语句报错怎么解决,培训,字符串,赋值,参数,语句,时候,方法,变量,语法,对象,replace替换字符串的时候,需要重新赋值给变量,因为在py