更好的方式处理有序的项目列表?

时间:2012-02-15 16:53:30

标签: php javascript web

我有需要处理并打印给用户的项目列表。

列表中的每个项目都需要有一组独特的计算。

唯一的问题是,用户还向我提供了如何打印物品的顺序。首先处理 - 例如:item4,item2,item1,item3

如何在PHP中解决这个问题?

我想到针对用户提交的有序列表运行for循环并处理每个计算并将其打印给用户,问题是这将难以维护,因为用户每次都必须编辑for循环将要添加新项目或计算。

1 个答案:

答案 0 :(得分:1)

给出1-n项目清单:

$items['item1'] = $item1;

使用1-n函数的共同相关列表:

$functions['item1'] = function($item) {return ...;};

您可以根据用户输入对项目进行排序:

$subset = orderAndFilterItems($items, $userInput);

然后迭代:

foreach($subset as $key => $item)
{
    $function = $functions[$key];
    $value = $function($item);
}

当然,你可以进一步封装它,但它应该给你一个想法。