> 백엔드 개발 > PHP 튜토리얼 > PHP中if/else实施机制

PHP中if/else实施机制

WBOY
풀어 주다: 2016-06-13 13:09:43
원래의
986명이 탐색했습니다.

PHP中if/else执行机制
如下代码,php中测试是if分支慢2.9秒,else分支快2.2秒,把if条件在1==1和1!=1变换,这是怎么样的机制造成的呢?

PHP code
<!--

Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/

-->
    $stime=microtime(true); //获取程序开始执行的时间
    $j=0;
  for($i=0;$i
로그인 후 복사


------解决方案--------------------
已测,没你说的那回事.
PHP code
/*if 
0.55976009368896秒  
0.55944108963013秒
0.56911516189575秒
0.5602080821991秒
0.56702303886414秒
else
0.5650839805603秒 
0.56633019447327秒
0.56741714477539秒
0.56370115280151秒
0.56349802017212秒
*/
<br><font color="#e78608">------解决方案--------------------</font><br>if else执行效率差异只在if代码块和else代码块中代码的执行效率吧?<br>这里的两块代码是一样的,应该执行时间大致是相同的吧
<br><font color="#e78608">------解决方案--------------------</font><br>是由于花括号产生的,php代码并非我们看上去的这几行,php最终会以C来运行,所以每一个符号每一行,C都要进行转化解释
<br><font color="#e78608">------解决方案--------------------</font><br>这样的问题应该让怪蜀黍来解答...<br><br>
로그인 후 복사
探讨

php是执行C的,那么所有c优化方案都可以应用?但是转化也需要时间,如何综合测定性能和找到性能提升的突破点~请大家指点

------解决方案--------------------
因为if要判断, else不用判断, 你试下 else if 看看, 更慢, 而== 和 != 不就0和1, 没什么区别。

一门语言如果if ... else 语句的设计都成性能问题, 那这门语言可以被遗弃了。
------解决方案--------------------
探讨

php是执行C的,那么所有c优化方案都可以应用?但是转化也需要时间,如何综合测定性能和找到性能提升的突破点~请大家指点

------解决方案--------------------
if 和 else 块里的执行代码相等, 效率相等。
------解决方案--------------------
探讨

if 和 else 块里的执行代码相等, 效率相等。

------解决方案--------------------
探讨

引用:

因为if要判断, else不用判断, 你试下 else if 看看, 更慢, 而== 和 != 不就0和1, 没什么区别。

一门语言如果if ... else 语句的设计都成性能问题, 那这门语言可以被遗弃了。


最开始先纠结了下这些很小的细节,不过觉得可能对性能优化确实有点微弱,如果我想要做性能优化,从哪方面入手才是合适的呢?
……

------解决方案--------------------
继续继续,多学点
관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿