我收到行的错误"尝试获取非对象的属性">
'price' => $product->product_price,
'name' => $product->product_name
用于在同一页面中进行
function remove($rowid) {
$this->cart->update(array(
'rowid' => $rowid,
'qty' => 0
));
}
我可以解决这个问题,通过使用'price' => $product->product_price
将'price' => $product['product_price'],
总线作为我的另一个页面,所以我不想将其转换为数组,我的问题是如何将$this->cart->update(array(
转换为一个对象,使这些行
'price' => $product->product_price,
'name' => $product->product_name
适用于对象?
提前谢谢。
$Arr = array(
'rowid' => $rowid,
'qty' => 0
);
$Obj = (object)$Arr;
这是数组到对象的转换。你想要吗?
将结果分配给一个数组。然后尝试将数组用作对象。接下来,返回的结果也是一个数组,您尝试将其用作对象。
将数组转换为对象的智能方法
来自PHP手册:
<?php
$literalObjectDeclared = (object) array(
'foo' => (object) array(
'bar' => 'baz',
'pax' => 'vax'
),
'moo' => 'ui'
);
print $literalObjectDeclared->foo->bar; // outputs "baz"!
?>
小天才破解:
<?php
// assuming $var is a multidimensional array
$obj = json_decode (json_encode ($var), FALSE);
?>
因此您可以通过将数组转换为对象:
<?php
$array = array(
// ...
);
$object = (object) $array;
?>
如果你想要手动方式,你可以这样做:
<?php
$object = object;
foreach($arr as $key => $value)
{
$object->{$key} = $value;
}
?>
将$product定义为新的标准类:
$product = new stdClass();