代码之家  ›  专栏  ›  技术社区  ›  panthro

效率:设置var还是调用方法?

php
  •  0
  • panthro  · 技术社区  · 5 年前

    声明var是否更有效:

    $datetime = Carbon::now();
    

    $toDate < $datetime && $fromDate > $datetime
    

    或者设置no var并调用Carbon::now()之类的函数两次:

    $toDate < Carbon::now() && $fromDate > Carbon::now()
    
    2 回复  |  直到 5 年前
        1
  •  4
  •   Eriks Klotins    5 年前

    我会遵循 DRY 原则和遵循第一种解决方案:

    $datetime = Carbon::now();
    if ($toDate < $datetime && $fromDate > $datetime) ...
    

    理论上,由于从堆栈中推/弹出上下文,方法调用可能会稍微昂贵一些。不过,我认为两者之间的差别可以忽略不计。

    有人提出了一个关于比赛条件的正确观点,如果你打电话的话可能会发生这种情况 now()

        2
  •  0
  •   Pankaj Sati    5 年前

    这两件事是执行程序所花费的时间和执行期间使用的空间(内存)。

    如果您的php脚本很长,即需要更多的时间,那么最好只调用一次函数并保存其值以节省执行时间,即使用- $datetime=Carbon::now();

    然而,如果您希望您的程序最大限度地减少内存的使用,这对于服务器来说是显而易见的,因为它们需要同时响应多个请求,那么您可以直接调用该方法。