一直困扰我的一个问题是,当第二个版本更小且更容易阅读时,人们会像第一个版本那样编写它。我认为这可能是因为php每次迭代时都会计算strlen
。任何想法?
第一版
for ($i = 0, $len = strlen($key); $i < $len; $i++) {}
显然,你可以在循环中使用$len
并在代码中进一步使用,但是对于以下版本有什么好处?
第二版
for ($i = 0; $i < strlen($key); $i++) {}
答案 0 :(得分:2)
答案 1 :(得分:1)
如果预期循环有多次迭代并且$key
在此过程中不会发生变化,则最好使用第一个版本。
如果循环正在更新$key
并且您需要重新计算它,或者重新计算它并不会影响您的表现,那么最好使用第二个。