2012-07-12 84 views
0

基本上,我創建了一個腳本來爲訂單的確認頁面上的Commission Junction訂單加載跟蹤像素。 1次訂單非常簡單,但我們的購物車允許同時放置多個訂單,並且只提供1個確認頁面。這意味着我必須在加載像素之前將所有訂單號和項目合併爲一個字符串。問題在於我必須合併類似的數據,因爲項目SKU不能重複。合併來自字符串或數組的類似數據

我必須發送的四個值是訂單號,SKU(s),金額(s)和數量。

一個簡單的單個訂單確認頁例如:

訂單#:100 SKU:RR-555/AMT:5.00/QTY:1 SKU:SS-444/AMT:10.00/QTY:2

腳本將輸出這個爲:

&ITEM1=RR-555&AMT1=5.00&QTY1=1&ITEM2=SS-444&AMT2=10.00&QTY2=2&OID=100 

一個多訂單確認頁面例如:

訂單號:101 SKU:RR-555/AMT:5.00/QTY:1 SKU:SS-444/AMT:10.00/QTY:2

訂單#:102 SKU:TT-333/AMT:5.00/QTY:1 SKU:RR-555/AMT:5.00 /數量:1

腳本的輸出將目前讀作:

&ITEM1=RR-555&AMT1=5.00&QTY1=1&ITEM2=SS-444&AMT2=10.00&QTY2=2&&ITEM3=TT-3333&AMT3=5.00&QTY3=1&ITEM4=RR-555&AMT4=5.00&QTY4=1&OID=101102 

在有多個訂單OID的只會得到級聯到兩端的情況下彼此。問題是SKU'RR-555'在該字符串中出現兩次,只能出現一次。因此,我正在尋找結合SKU號碼並將它們的數量加在一起的最佳方式。所以它會顯示:

&ITEM1=RR-555&AMT1=5.00&QTY1=3&ITEM2=SS-444&AMT2=10.00&QTY2=2& 
&ITEM3=TT-3333&AMT3=5.00&QTY3=1&OID=101102 

我真的很困惑如何處理這個問題。將所有訂單中的所有項目數據放入一個數組中,嘗試在該級別進行組合,然後創建字符串最好嗎?或者我應該創建該字符串並嘗試在那裏結合?任何幫助表示讚賞!

回答

0

首先將它們組合成一個像數組一樣的PHP數據結構。在將它們轉換爲字符串之後嘗試將它們合併是沒有意義的,因爲您只需重新解析已解析的數據即可!

+0

那就是我認爲最好的方法。林只是不知道如何處理它,一旦它在陣列中。 – jkphl 2012-07-12 16:00:40

+0

對不起,最後的評論,錯誤的線程..,也許你可以更新你的問題來顯示數組的結構? – quickshiftin 2012-07-12 16:12:30

+0

即使在那一步,我也不確定我應該如何構建它們。我假設我會使用array_push將項目放入一個數組,因爲它循環但我卡在那裏。 – jkphl 2012-07-12 16:14:23