php代码改进重构

时间:2012-01-13 06:00:14

标签: php refactoring

您好staskoverflow社区。

如何改进PHP 5代码的下一个结构。 模型列表$ months(超过12) $ month->天(超过31天)

$ day->客户端列表 $ day-> someActions $ customers的操作列表

我需要为每个$ client调用每个$ action。所以我的建设是:

<?php
foreach($monthes as $month) {
    foreach($month->days as $day) {
        foreach($day->clients as $client) {
            foreach($day->actions as $action) {
                $action->run($client);
            }
        }
    }
} ?>

所以有四个foreach循环,我能改进这段代码吗?

1 个答案:

答案 0 :(得分:2)

为什么要移出嵌套循环? 您所拥有的代码非常清楚,如果您的目标是优化此方法的性能,那么我将采用的方法是:

  1. 我将首先尝试减少迭代次数。你可以通过向自己提问我是否真的想要在移动中显示多少个月的数据来做到这一点?
  2. 可以询问有关日期和客户的类似问题
  3. 你有休息时间吗?我的意思是,

    $ result = $ action-&gt; run($ client); if(“break_condition”== $ result){ 打破; }

  4. 这应该会大大减少迭代次数。