尝试使用html和php打印出列表中的数组。 我用它的代码:
<ul>
<?php
foreach ($arrayData as $cart):
echo '<li>',$cart['name'], $cart['price'], $cart['amount'],'</li>';
endforeach;
?>
</ul>
这样做了,它也使得网站的其余部分(页脚)根本无法显示。
此外,这会产生同样的问题,并且不会显示网站的其余部分。
<?php
foreach ($arrayData as $cart):
echo $cart['name'];
endforeach;
?>
如果我插入使用var_dump并打印出$ cart,我会将孔阵列引出,所以我在数组中得到了数据。
var_dump代码:
<?php
foreach ($arrayData as $cart):
var_dump($cart);
endforeach;
?>
var_dump的输出:
object(Product)#1 (4)
{
["id":"Product":private]=> string(1) "1"
["name":"Product":private]=> string(8) "Xbox One"
["price":"Product":private]=> string(1) "0"
["amount"]=> int(55)
}
答案 0 :(得分:3)
$data
是一个对象而不是数组。
$array['key']
是访问数组中元素的符号,但$object->key
是对象的元素。
试试这个:
foreach ($arrayData as $cart):
echo '<li>' . $cart->name . ',' . $cart->price . ',' . $cart->amount . '</li>';
endforeach;
如果这不起作用(由于元素的私有性),您可能必须在对象类中声明getName()
,getPrice()
和getAmount()
等函数文件,并使用它们:
foreach ($arrayData as $cart):
echo '<li>' . $cart->getName(). ',' . $cart->getPrice(). ',' . $cart->getAmount(). '</li>';
endforeach;
对象类文件中函数getName()
的声明示例:
public function getName() {
return $this->name;
}
答案 1 :(得分:-1)
您确定$ arrayData不是对象数据吗? 在这种情况下,请尝试使用$ cart-&gt; name。