Я использую Infobip SMS API для отправки SMS по одному или нескольким адресатам, но отчеты о доставке и журналы SMS, которые я получаю, подавляют моих пользователей, я хочу отображать только часть отчета для каждого отправленного SMS. Вот образец отчета JSON, который получают мои пользователи, мне просто нужны части отчета Название группы
{
"results":[
{
"bulkId":"bafdeb3d-719b-4cce-8762-54d47b40f3c5",
"messageId":"07e03aae-fabc-44ad-b1ce-222e14094d70",
"to":"41793026727",
"from":"InfoSMS",
"text":"Test SMS.",
"sentAt":"2015-02-23T17:41:11.833+0100",
"doneAt":"2015-02-23T17:41:11.843+0100",
"smsCount":1,
"mccmnc":"22801",
"price":{
"pricePerMessage":0.01,
"currency":"EUR"
},
"status":{
"groupId":3,
"groupName":"DELIVERED",
"id":5,
"name":"DELIVERED_TO_HANDSET",
"description":"Message delivered to handset"
},
"error":{
"groupId":0,
"groupName":"OK",
"id":0,
"name":"NO_ERROR",
"description":"No Error",
"permanent":false
}
},
{
"bulkId":"06479ba3-5977-47f6-9346-fee0369bc76b",
"messageId":"1f21d8d7-f306-4f53-9f6e-eddfce9849ea",
"to":"41793026727",
"from":"InfoSMS",
"text":"Test SMS.",
"sentAt":"2015-02-23T17:40:31.773+0100",
"doneAt":"2015-02-23T17:40:31.787+0100",
"smsCount":1,
"mccmnc":"22801",
"price":{
"pricePerMessage":0.01,
"currency":"EUR"
},
"status":{
"groupId":3,
"groupName":"DELIVERED",
"id":5,
"name":"DELIVERED_TO_HANDSET",
"description":"Message delivered to handset"
},
"error":{
"groupId":0,
"groupName":"OK",
"id":0,
"name":"NO_ERROR",
"description":"No Error",
"permanent":false
}
}
]
}
Я попробовал ответить на этот вопрос с помощью цикла foreach, но я получаю сообщение об ошибке Объект класса stdClass не может быть преобразован в строку, когда выполнение достигает значения цена, я думаю, потому что это другой массив
Вам нужно указать true во втором параметре. $arr = json_decode($json, true), вызывающий преобразование строки json в массив. Затем пропустите $arr['results']






Вот последний код, который сработал
foreach ($arr as $key => $jsons){
foreach ($jsons as $key => $value){
if ($key == 'status'){
if (is_array($value)){
foreach ($value as $key => $val){
if ($key == 'name'){
echo $val;
}
}
}else{
if ($key == 'name'){
echo $value;
}
}
}
}
}
Возможный дубликат php: цикл через массив json