我已经仔细阅读了关于三元运算符与if/else 结构的问题,虽然我知道在正常情况下,在 if/else 结构上使用三元运算符没有性能损失/增益,但我没有看到任何提及这一点情况。特定于 PHP 的语言(但欢迎任何与语言无关的细节)解释器会在以下情况下重新分配值:
$foo = 'bar'
$foo = strlen($foo) > 3 ? substr($foo, 0, 3) : $foo;
由于这将评估为$foo = $foo;
效率低下,还是解释器只是忽略/丢弃此评估?
在旁注中,关于:
!defined('SECURE') ? exit : null;