Распарсить JSON PHP. Не работает!
никак не могу понять где ошибка, вроде код верный, но некоторые элементы json просто не считываются.
Есть данные
"included": [
{
"id": "31259521",
"type": "vacancyDetailInfo",
"attributes": {
"duties": "Увеличивать объемы продаж;\nНарабатывать клиентскую базу, привлекать новых клиентов - крупных застройщиков.\nКомплектовать строительные объекты ассортиментом компании;\nПостоянно общаться со своими клиентами;\nЗаключать договора, контролировать дебиторскую задолженность.",
"requirements": "Умение грамотно вести переговоры с потенциальным клиентом и продавать;\nОпыт наработки клиентской базы;\nЗнание документооборота, первичной бухгалтерской документации;\nСпособность работать с большим объемом информации по товару;\nГотовность к разъездной работе по городу- до 30 % рабочего времени;\nОБЯЗАТЕЛЬНО наличие автомобиля.",
"conditions": "Трудоустройство по ТК;\nВозможность зарабатывать высокий доход: оклад +% от продаж;\nКомпенсация ГСМ и мобильной связи;\nОбучение по ассортименту компании в процессе работы;\nГрафик работы: понедельник-пятница с 9.00 до 18.00;\nМолодой и современный коллектив, интересные, пользующиеся спросом продукты.\nнапротив маг. \"Малыш\"",
"archivedAt": "2019-01-21T12:32:55+03:00",
"isCommercial": true,
"isResumeRequired": true,
"isRemoteWork": false,
"externalResponseUrl": ""
},
"relationships": {
}
},
{
"id": "31259521",
"type": "vacancyMainInfo",
"attributes": {
"profession": "Менеджер по развитию продаж на строительные объекты",
"createdAt": "2019-02-14T17:45:32+03:00",
"updatedAt": "2019-03-04T17:45:32+03:00",
"minSalary": 0,
"maxSalary": 0,
"highlight": true
},
"relationships": {
}
},
пытаюсь их структурировать в один массив взяв только нужные элементы.
$obj = json_decode($data,true);
$mas=array();
for ($i = 0; $i <count($obj['included']); $i++) {
if ($obj['included'][$i]['type']='vacancyDetailInfo'){
$id=$obj['included'][$i]['id'];
$mas[$id]['duties']= $obj['included'][$i]['attributes']['duties'];
$mas[$id]['requirements']= $obj['included'][$i]['attributes']['requirements'];
$mas[$id]['conditions']= $obj['included'][$i]['attributes']['conditions'];
}
if ($obj['included'][$i]['type']='vacancyMainInfo'){
$id=$obj['included'][$i]['id'];
$mas[$id]['profession']= $obj['included'][$i]['attributes']['profession'];
$mas[$id]['minSalary']= $obj['included'][$i]['attributes']['minSalary'];
$mas[$id]['maxSalary']= $obj['included'][$i]['attributes']['maxSalary'];
}
}
print_r ($mas);
в итоге получаю массив такого вида
Array ( [31259521] => Array ( [duties] => [requirements] => [conditions] => [profession] => Менеджер по развитию продаж на строительные объекты [minSalary] => 0 [maxSalary] => 0 ) [31780640] => Array ( [duties] => [requirements] => [conditions] => [profession] => Энергетик, специалист по охране труда и промышленной безопасности [minSalary] => 40000 [maxSalary] => 0 )
почему к duties, requirements, conditions не считывается, точнее в массив не добавляется? а если обратится так
echo $obj[’included’][0][’attributes’][’duties’];
то его содержимое нормально отображается?
15 коментарів
Додати коментар Підписатись на коментаріВідписатись від коментарів