1
之間的東西我有一個網絡商店的產品配置器。我必須爲每個可能的項目組合生成一個「簡單產品sku」。該物品是一個包含薯片袋的盒子。箱子可以分爲1個,2個或3個不同風味的隔間。趣味數學與php產品選取器排列組合,在
1隔間很平凡。只需重複這些口味,併爲每個口味吐出一份sku。 2個隔間仍然很簡單:只需使用組合(N選擇2)使用php Math_Combinatorials庫。
3車廂很難!
不同於2車廂選項,其中的味道必須是唯一的,有三個隔間,你可以有發言權:
燒烤,燒烤,平
但是,我們不想做一個SKU的
燒烤,燒烤,平原和平原,燒烤,燒烤
因此,這不是一個組合或排列功能了。
我的想法是生成排列,然後爲每種風味分配一個數字值,將每一行添加,如果兩行添加到相同的數字,它們是重複的組合。 只有重複的組合應該加起來相同的值。我正在考慮Unix文件系統權限的工作原理 - 讀取,寫入和執行的八進制數加起來爲八進制。有誰知道如何選擇正確的值(unix perms中的1,2,4)來完成這項工作?
想到其他方法嗎?
謝謝!
有擴展Magento的支持產品捆綁,你有沒有考慮在尋找其中的一個? –
我可以看到你如何得到unix權限加起來得到7的想法(如1 + 2 + 4 = 7),但實際上是使用'按位運算符'計算的。 (1 | 2 | 4)= 7權限被「添加」了。權限是用「位不是」和「位和」來「減」的,因此刪除執行位7&〜(2) == 7&5 = 5。這個原因起作用的原因是每個權限都是唯一的。也就是說,它不能像風味那樣使用多次,例如'wxx'不是一個有效的unix權限。所以這種方法不適用於你的情況。 – elitechief21