我一直在研究如何每天越来越多地优化代码,以及如何学习编写更快的代码。
在线查看一些缩小的JS,我注意到将一些IF更改为一个语句,我认为在PHP中开始使用它可能是一个非常好的主意。
<?php
if(!isset($myVar) || $myVar == 'val'){
$myVar = 'oldVal';
}
if(isset($myVar2) && $myVar2 == 'oldVal'){
$myVar2 = 'newVal';
}
?>
到
<?php
(!isset($myVar) || $myVar == 'val') && $myVar = 'oldVal';
isset($myVar2) && $myVar2 == 'oldVal' && $myVar2 = 'newVal';
?>
由于我喜欢新的语法,我开始越来越多地考虑使用它来节省处理时间,但是我真的保存了它们,或者内部没有任何区别吗?
(示例代码仅为示例,仅显示技术)
答案 0 :(得分:2)
我使用此代码来分析两种方法:
<?php
$iterations = 1000000;
$startTime = microtime( true );
$i = 0;
while( ++$i < $iterations ) {
if(!isset($myVar) || $myVar == 'val'){
$myVar = 'oldVal';
}
if(isset($myVar) && $myVar == 'oldVal'){
$myVar = 'newVal';
}
}
echo 'First Running Time: ' . (microtime(true) - $startTime) . "\n";
$startTime = microtime( true );
$i = 0;
while( ++$i < $iterations ) {
(!isset($myVar) || $myVar == 'val') && $myVar = 'oldVal';
isset($myVar) && $myVar == 'oldVal' && $myVar = 'newVal';
}
echo 'Second Running Time: ' . (microtime(true) - $startTime) . "\n";
结果:
(第1次运行)
首次运行时间:0.38401508331299
第二次运行时间:0.40315389633179
(第二轮)
首次运行时间:0.38593697547913
第二次运行时间:0.40187788009644
结论:你的方法速度较慢,但数量太少,即使不是这样,你仍然可以更好地编写更易读的代码。