在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
答案 0 :(得分:1)
替换此
$product_discounts[] = array();
与
$product_discounts = array();
答案 1 :(得分:0)
$discounts
从未被定义过。它应该是$product_discounts
。这就是为什么你得到undefined variable discounts
。
<?php
foreach ($product_discounts as $discount) {
echo sprintf($text_discount, $discount['quantity'], $discount['price']); ?>
}?>
答案 2 :(得分: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')))
);
}