как получить данные из тела - PullRequest
0 голосов
/ 31 января 2020

У меня есть эти данные в разделе моего тела.

(
[tags] => Array
    (
        [0] => Array
            (
                [tag_id] => 70
                [tag_slug] => step-by-step-macintosh-training
                [tag_name] => step-by-step-macintosh-training
                [tag_description] => 
                [contact_count] => 4
                [show_as_preference] => 0
            )

    )

[status] => success
)

Мне нужно извлечь tag_id и tag_slug из этого тела, чтобы получить эти две детали, я использовал этот код:

foreach ($body as $key => $value) {
                $tags[] = array('tag_id'=>$value->tag_id,'tag_name'=>$values->tag_name);
        return $tags;
    }

, но это не работает, это дает черный вывод:

Array
(
[0] => Array
    (
        [tag_id] => 
        [tag_name] => 
    )

)

что не так я делаю здесь? пожалуйста, руководство, как я могу получить tag_id и tag_slug из тела, которое я получил в ответе.

Ответы [ 2 ]

0 голосов
/ 31 января 2020

Исходя из структуры данных, которые вы показали, ваш код не работает, потому что вы пытаетесь получить доступ к элементам тегов, как если бы они были объектами, тогда как они фактически являются массивами. Попробуйте вместо этого:

$tags = array();
foreach ($body['tags'] as $tag) {
    $tags[] = array('tag_id'=>$tag['tag_id'], 'tag_name'=>$tag['tag_name']);
}
print_r($tags);

Вывод:

Array
(
    [0] => Array
        (
            [tag_id] => 70
            [tag_name] => step-by-step-macintosh-training
        )
)

Демонстрация на 3v4l.org

0 голосов
/ 31 января 2020

Вы пытаетесь получить значение массива как объект, попробуйте следующий код:

foreach ($body as $key => $value) {
    $tags[] = array('tag_id'=>$value['tag_id'],'tag_name'=>$values['tag_name']);

}
return $tags;
...