不平等运算符的表现

mix*_*dev -3 php performance micro-optimization

似乎(!$ a =='hello')总是快于($ a!='hello')

// (!$a == 'hello')
Used time: 52.743232011795
Used time: 52.633831977844
Used time: 51.452646970749

//($a != 'hello')
Used time: 76.290767908096
Used time: 81.887389183044
Used time: 64.569777011871
Run Code Online (Sandbox Code Playgroud)

知道为什么会这样吗?据我所知,在大多数情况下,这种优化水平是无关紧要的.问题完全出于好奇.(参考:http://www.php.net/manual/en/language.operators.comparison.php#99216)

dec*_*eze 5

!$a == 'hello'转换$a为(否定的)布尔值并将其与字符串进行比较.这可能会更快,因为它比实际比较两个字符串更容易决定.它也会给你错误的结果.你需要比较的是!($a == 'hello'),我猜这个时间是相同的.