我正在填充这样的数组:
$POarray = array();
foreach($orders as $order)
{
$total = OrderItems::where('OrderID', $order->OrderID)->sum('TotalPrice') * (1 + $LRmarkup);
$arraydata = array(
'Name' => $order->OrderNumber,
'Total' => $total);
$POarray[] = $arraydata;
}
这将导致$ POarray变量的内容为:
[
{
"Name": "DS-BS-18102654",
"Total": 241.4655
},
{
"Name": "test test",
"Total": "600.00"
}
]
我正在尝试像这样访问此数据:
$purchase1name = $POarray[0]->Name;
$purchase1total = $POarray[0]->Total;
我收到此错误:
"Trying to get property of non-object"
这不行吗?
感谢您抽出宝贵的时间来答复。
答案 0 :(得分:0)
$ POarray不是对象。
尝试:
$purchase1name = $POarray[0]['Name'];
$purchase1total = $POarray[0]['Total'];
答案 1 :(得分:0)
使用json_decode()
对其进行解码后,您需要这样做,
<?php
$key='[
{
"Name": "DS-BS-18102654",
"Total": 241.4655
},
{
"Name": "test test",
"Total": "600.00"
}
]';
$POarray = json_decode($key);
echo $POarray[0]->Name;
echo $POarray[0]->Total;
?>
答案 2 :(得分:0)
您也可以使用它。
array_get($POarray[0], 'Name');
array_get($POarray[0], 'Total');