Как вытащить вложенные данные?

187
06 октября 2017, 18:16

Есть данные от ВК

{  
    "type":"lead_forms_new",
    "object":{  
        "lead_id":47,
        "group_id":73169200,
        "user_id":4709343,
        "form_id":1,
        "form_name":"Форма сбора заявок 05.10.17",
        "answers":[  
            {  
                "key":"first_name",
                "question":"Имя",
                "answer":"Александр"
            },
            {  
                "key":"last_name",
                "question":"Фамилия",
                "answer":"Петров"
            },
            {  
                "key":"email",
                "question":"E-mail адрес",
                "answer":"a.petrov@mail.ru"
            },
            {  
                "key":"phone_number",
                "question":"Номер телефона",
                "answer":"+7 (966) 165-70-57"
            }
        ]
    },
    "group_id":73169200
}

пробовал так:

//Получаем и декодируем уведомление 
$data = json_decode(file_get_contents('php://input')); 
$key = $data->object->answers[0]->key; 

Но там по порядку несколько разных данных Имя, Фамилия, Телефон, Емайл из Имени вытащить могу, а вот как дальше?

Answer 1

После редактирования вопрос стал чуть понятнее, но всё еще не до конца.

После $data = json_decode(...) далее делаете:

$data = $data->object->answers;
$result = [];
foreach ($data as $row) {
    $result[$row->key] = $row->answer;
}

в переменной $result у вас будет:

array(4) {
  ["first_name"]=>
  string(9) "Александр"
  ["last_name"]=>
  string(6) "Петров"
  ["email"]=>
  string(16) "a.petrov@mail.ru"
  ["phone_number"]=>
  string(18) "+7 (966) 165-70-57"
}
READ ALSO
Проверка капчи в форме обратной связи

Проверка капчи в форме обратной связи

Есть отдельно проверка формы обратной связи и проверка капчиКак вставить проверку капчи в код проверки формы? Вот код проверки формы обратной...

161
Запись файлов в бд

Запись файлов в бд

Можно ли записать в бд txt файл? или только его содержимое?

179
PHP - Вывод по категориям в цикле

PHP - Вывод по категориям в цикле

Вывожу из БД, логика примерно такая:

207