1
我有需要處理並打印到用戶的項目列表。更好的方式來處理項目的有序列表?
列表上的每個項目都需要一組唯一的計算。
唯一的一點是,用戶還提供我的項目將如何打印&優先處理的順序 - 例如:ITEM4,項目2,項目1,項目3
哪有一個方法,這在PHP?
我想到了針對用戶提交的有序列表運行for循環,並處理每個計算並將其打印到用戶,問題是這將難以維護,因爲用戶每次都必須編輯for循環他會想添加一個新的項目或計算。
我有需要處理並打印到用戶的項目列表。更好的方式來處理項目的有序列表?
列表上的每個項目都需要一組唯一的計算。
唯一的一點是,用戶還提供我的項目將如何打印&優先處理的順序 - 例如:ITEM4,項目2,項目1,項目3
哪有一個方法,這在PHP?
我想到了針對用戶提交的有序列表運行for循環,並處理每個計算並將其打印到用戶,問題是這將難以維護,因爲用戶每次都必須編輯for循環他會想添加一個新的項目或計算。
鑑於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);
}
當然,你可以將其進一步封裝,但它應該給你的想法。
謝謝!驚人的答案 – Tzvi 2012-02-15 17:33:41
只是澄清:你需要對列表中的不同項目應用不同的計算,所以如果列表的順序是「馬鈴薯,胡蘿蔔,雞蛋」,你會想要搗碎馬鈴薯,剝開胡蘿蔔,煮沸蛋。最重要的是,它們可能不是這樣的順序(可能是「胡蘿蔔,土豆,雞蛋」),但是你仍然想對每個項目應用適當的計算? – Joe 2012-02-15 16:57:13
是啊喬你說得對 – Tzvi 2012-02-15 16:58:30