Я декодировал входящую строку через POST в двух JSON, и я пытаюсь ее прочитать и сохранить ключи в vars. эти массивы:чтение json с объектом
$infos = $_POST;
$orderInformation['orderInfo'] = json_decode($infos['orderinf']);
$orderItensInformation['orderItensInfo'] = json_decode($infos['orderitensinf']);
Это то, что var_dump возвращения $orderInformation
:
array(1) {
["orderInfo"]=>
object(stdClass)#1 (9) {
["customer_fone"]=>
string(10) "5554120082"
["neighborhood"]=>
string(4) "aaaa"
["order_price"]=>
int(45)
["payment_method"]=>
string(8) "CASH"
["customer_email"]=>
string(19) "[email protected]"
["street"]=>
string(14) "Unknown street"
["number"]=>
string(3) "111"
["order_date"]=>
object(stdClass)#2 (5) {
["day"]=>
int(3)
["month"]=>
int(11)
["time"]=>
int(1)
["year"]=>
int(2013)
["minute"]=>
int(24)
}
["customer_name"]=>
string(6) "Noname"
}
}
Вопрос в том, как я могу получить информацию внутри объекта? Я пытался использовать Еогеасп:
foreach($orderInformation->orderInfo as $oi) {
$fone = $oi->customer_fone;
$nbh = $oi->neighborhood;
.
.
.
}
Но не получилось. Вары были пусты.
Согласен, в этом случае foreach не нужен. Но не должно ли это работать? Мне понадобится foreach для итерации в $ orderItensInformation. – Smash
Код, который вы указали, не будет работать из-за синтаксических ошибок 'foreach ($ orderInformation-> orderInfo' И поскольку' $ orderInformation ['orderInfo'] 'не является массивом, вы не можете закодировать объект. Правильный код будет 'foreach ($ orderInformation as $ order ...', а затем $ order будет вашим объектом – dockeryZ
Получил его ... Есть ли способ конвертировать объект в массив? Где customer_fone, neighbour, ... будут ассоциативными ключами в этом array. thx! – Smash