【问题标题】:how to fetch data from body如何从正文中获取数据
【发布时间】:2020-05-16 19:15:33
【问题描述】:

我的正文部分有这些数据

(
[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
)

我必须从这个 body 中获取 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。

【问题讨论】:

    标签: php arrays json multidimensional-array


    【解决方案1】:

    根据您显示的数据结构,您的代码不起作用,因为您试图访问标签元素,就好像它们是对象一样,而实际上它们是数组。试试这个:

    $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
            )
    )
    

    Demo on 3v4l.org

    【讨论】:

      【解决方案2】:

      您尝试将数组值作为对象尝试以下代码:

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

      【讨论】:

        猜你喜欢
        • 2018-03-29
        • 1970-01-01
        • 1970-01-01
        • 2018-01-24
        • 2013-05-26
        • 1970-01-01
        • 2021-06-11
        • 2020-12-12
        • 1970-01-01
        相关资源
        最近更新 更多