我有需要处理并打印给用户的项目列表。
列表中的每个项目都需要有一组独特的计算。
唯一的问题是,用户还向我提供了如何打印物品的顺序。首先处理 - 例如:item4,item2,item1,item3
如何在PHP中解决这个问题?
我想到针对用户提交的有序列表运行for循环并处理每个计算并将其打印给用户,问题是这将难以维护,因为用户每次都必须编辑for循环将要添加新项目或计算。
答案 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);
}
当然,你可以进一步封装它,但它应该给你一个想法。