• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

PHP属于解析型语言,请问以下语句性能上有什么区别吗?

php 搞代码 3年前 (2022-01-25) 21次浏览 已收录 0个评论
文章目录[隐藏]
<code># 使用if进行判断if( !defined('ROOT_PATH') ) define('ROOT_PATH', <em style="color:transparent">本@文来源[email protected]搞@^&代*@码网(</em><q>搞代gaodaima码</q>realpath('./').DIRECTORY_SEPARATOR);# 使用or进行判断defined('ROOT_PATH') or define('ROOT_PATH', realpath('./').DIRECTORY_SEPARATOR);!defined('ROOT_PATH') and define('ROOT_PATH', realpath('./').DIRECTORY_SEPARATOR);</code>

回复内容:

<code># 使用if进行判断if( !defined('ROOT_PATH') ) define('ROOT_PATH', realpath('./').DIRECTORY_SEPARATOR);# 使用or进行判断defined('ROOT_PATH') or define('ROOT_PATH', realpath('./').DIRECTORY_SEPARATOR);!defined('ROOT_PATH') and define('ROOT_PATH', realpath('./').DIRECTORY_SEPARATOR);</code>

if效率要比短路写法效率高,因为if只需要判断if括号里的条件是否为真,如果为真,直接执行条件里的代码,不管里面代码返回的是真是假。而or或者and在执行后面代码后,会判断返回值是否为真。

个人表示,性能上没有区别
都是1次判断或者1次判断+定义

自己测试一下不就知道了

<code>    (1==1) || print(2);    (1==1) && print(2);</code>

结果显示,如果是或,第一个为真,则不会运行后面的表达式,如果第一个为假,则会运行
如果是与,如果第一个为假,则不会运行后面的表达式,否则则运行
所以跟if的效果是一样的,而且写法更简洁,尤其适合开始的预定义

if里只有一次计算。


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:PHP属于解析型语言,请问以下语句性能上有什么区别吗?
喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址