1

在php中我的代码是这样的

  $discounts =  $this->model_catalog_product->getProductDiscounts($product_id);
      $product_discounts[] = array();
      foreach($discounts as $discount) {
        $product_discounts[] = array(
          'quantity' => $discount['quantity'],
          'price'    => $this->currency->format($this->tax->calculate($discount['price'], $product_info['tax_class_id'], $this->config->get('config_tax')))
        );
      }

现在,当我让它显示我的数组时

Array ( [0] => Array ( [product_discount_id] => 483 [product_id] => 43 [customer_group_id] => 8 [quantity] => 2 [priority] => 1 [price] => 345.0000 [date_start] => 0000-00-00 [date_end] => 0000-00-00 ) [1] => Array ( [product_discount_id] => 484 [product_id] => 43 [customer_group_id] => 8 [quantity] => 4 [priority] => 2 [price] => 784.0000 [date_start] => 0000-00-00 [date_end] => 0000-00-00 ) [2] => Array ( [product_discount_id] => 485 [product_id] => 43 [customer_group_id] => 8 [quantity] => 5 [priority] => 3 [price] => 786.0000 [date_start] => 0000-00-00 [date_end] => 0000-00-00 ) )

但是当我编写代码以从数组中获取折扣数量和折扣价格的值时

 <?php foreach ($discounts as $discount) {
    echo sprintf($text_discount, $discount['quantity'], $discount['price']); ?>
    } ?>

我得到了这样的错误Undefined variable: discounts

4

3 回答 3

1

替换这个

$product_discounts[] = array();

$product_discounts = array();
于 2012-11-24T07:59:26.707 回答
0

尝试这个

$discounts =  $this->model_catalog_product->getProductDiscounts($product_id);
  $product_discounts = array();
  foreach($discounts as $discount) {
    $product_discounts = array(
      'quantity' => $discount['quantity'],
      'price'    => $this->currency->format($this->tax->calculate($discount['price'], $product_info['tax_class_id'], $this->config->get('config_tax')))
    );
  }
于 2012-11-24T08:18:46.700 回答
0

$discounts从未被定义。应该是$product_discounts。这就是为什么你得到undefined variable discounts.

<?php
foreach ($product_discounts as $discount) {
    echo sprintf($text_discount, $discount['quantity'], $discount['price']); ?>
}?>
于 2012-11-24T08:02:12.310 回答