0

基本上,我正在创建一个脚本来在订单的确认页面上加载 Commission Junction 订单的跟踪像素。1 个订单非常简单,但我们的购物车允许一次下多个订单,并且只提供 1 个确认页面。这意味着我必须在加载像素之前将所有订单号和项目组合成 1 个字符串。问题是我必须合并相似的数据,因为项目 SKU 不能重复。

我必须发送的四个值是 Order #、SKU(s)、Amount(s) 和 Quantity。

一个简单的单笔订单确认页面示例:

订单编号:100 SKU:RR-555 / AMT:5.00 / 数量:1 SKU:SS-444 / AMT:10.00 / 数量: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 / 数量:1 SKU:SS-444 / AMT:10.00 / 数量:2

订单编号:102 SKU:TT-333 / AMT:5.00 / 数量: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

我真的很困惑如何处理这个问题。是否最好将所有订单中的所有项目数据放入一个数组中,尝试在该级别组合,然后创建字符串?或者我应该创建那个字符串并尝试在那里组合?任何帮助表示赞赏!

4

1 回答 1

0

首先将它们组合成一个像数组一样的 PHP 数据结构。在将它们转换为字符串后尝试组合它们是没有意义的,因为您只是重新解析已经解析的数据!

于 2012-07-12T14:48:22.647 回答