0

我正在使用此代码将产品添加到 Google Analytics 跟踪。

   <?php foreach($orderProducts as $product) { ?>
  _gaq.push(['_addItem',
      "<?php echo $product['order_id']; ?>",
      "<?php echo $product['product_id']; ?>",
      <?php echo json_encode($product['name']); ?>,
      "<?php echo $product['model']; ?>",
      "<?php echo $product['price']; ?>",
      "<?php echo $product['quantity']; ?>"
   ]);

这适用于基本产品,但是某些产品具有选项,因此$orderProducts使用相同的型号 ID 添加多个版本。Google Analytics 只选择第一个,因此不会跟踪其他实例的数量。

我需要做的是将数组中具有相同模型 ID 的每个条目的所有数量相加,然后使用新的“总”数量删除该模型 ID 的一个实例之外的所有实例。

任何帮助是极大的赞赏。

4

1 回答 1

1

只需遍历您的数组,并创建一个新数组,其中每个 unique 仅包含一个条目model,并且正确quantity(未经测试):

$newArray = array();
foreach ($orderProducts as $product) {
  if (isset($newArray[$product['model']])) {
    $newArray[$product['model']]['quantity'] += $product['quantity'];
  } else {
    $newArray[$product['model']] = $product;
  }
}

$newArray然后你可以像原来那样循环遍历for $orderProducts

 <?php foreach($newArray as $product) { ?>
  _gaq.push(['_addItem',
      "<?php echo $product['order_id']; ?>",
      "<?php echo $product['product_id']; ?>",
      <?php echo json_encode($product['name']); ?>,
      "<?php echo $product['model']; ?>",
      "<?php echo $product['price']; ?>",
      "<?php echo $product['quantity']; ?>"
   ]);
于 2013-01-24T14:13:10.220 回答