我创建了一个枝条扩展功能,用于计算物品的总价格:
public function getTotal($items)
{
$total = array();
foreach($items as $item){
$total[] = $item->getPrice() - $item->getDiscount() + $item->getValue();
}
return $total;
}
然而,当我显示它们时,我得到错误:数组转换为字符串
我显示如下:
{{getTotalTax(product)}}
我尝试过这样做没有帮助:
public function getTotal($items)
{
$totals = array();
foreach($items as $item){
$totals[] = $item->getPrice() - $item->getDiscount() + $item->getValue();
if(is_array($totals)) {
return '';
}
}
return $totals;
}
答案 0 :(得分:0)
您的代码正在返回一个数组。
我假设你想要:
function print_totals($totals){
foreach ($totals as $total){
echo $total;
}
}
很难准确地说出你要从你的问题中做什么,因为你的'display'调用getTotalTax(product)
,其中产品似乎是单个项目,但你粘贴的函数称为{{ 1}}假定数组为getTotal()
。
您可能希望更新每个项目的属性,如下所示:
$items
或强>
public function getTotal($items)
{
$total = array();
foreach($items as $item){
$item->total = $item->getPrice() - $item->getDiscount() + $item->getValue();
}
return true;
}
答案 1 :(得分:-1)
您确实正在返回一个数组,但它无法转换为字符串。根据您的具体需要,您可以返回例如
return print_r($totals, true);
否则,您可以从HTML模板中提取单个元素并输出它们。