代码之家  ›  专栏  ›  技术社区  ›  Deepak Singh

如何从pinterest oauth api php回显数组数据

  •  1
  • Deepak Singh  · 技术社区  · 8 年前

    我正在尝试使用oauthapi从pinterest获取用户配置文件。 用户数据代码:

    $me = $pinterest->users->me(array(
    'fields' => 'username,first_name,last_name,image[large]'
    ));
    

    并通过以下方式获得回波结果:

    echo $me;
    

    输出如下:

    {"id":"195414208739840616","username":"rajivsharma033","first_name":"Rajiv","last_name":"Sharma","bio":null,"created_at":null,"counts":null,"image":{"large":{"url":"https:\/\/s-media-cache-ak0.pinimg.com\/avatars\/rajivsharma033_1459712414_280.jpg","width":280,"height":280}}}
    

    现在我想将这个结果作为

    id="195414208739840616"
    username="rajivsharma033"
    first_name="Rajiv"
    

    等等 请帮帮我。

    2 回复  |  直到 8 年前
        1
  •  1
  •   Death-is-the-real-truth    8 年前

    既然你得到了 json 您需要使用的数据 json_decode() :-

       <?php
        $me = '{"id":"195414208739840616","username":"rajivsharma033","first_name":"Rajiv","last_name":"Sharma","bio":null,"created_at":null,"counts":null,"image":{"large":{"url":"https:\/\/s-media-cache-ak0.pinimg.com\/avatars\/rajivsharma033_1459712414_280.jpg","width":280,"height":280}}}';
    
        $array_data = json_decode($me); 
        echo "<pre/>";print_r($array_data);
    
        foreach ($array_data as $key=>$value){
    
            if($key == 'image'){
                echo $key. " url is=" . $value->large->url .'<br/>';
            }else{
    
                echo $key. "=" . $value .'<br/>';
            }
        }
    
        2
  •  0
  •   A. Fink    8 年前

    我会用两次来解决 foreach :

    $a = json_decode($me);
     foreach ($a as $key=>$value){
    echo $key.'="'.$value.'"<br/>';
    }
    foreach ($a['image']['large'] as $key=>value){
     echo 'image-large-'$key.'="'.$value.'"<br/>';
    }
    

    或者,您可以执行递归操作:

    function echojson($string=''){
     $a = json_decode($me);
     foreach ($a as $key=>$value){
      if (is_array($value)) echojson($string.'-'.$key);
      else
      echo $string.$key.'="'.$value.'"<br/>';
     }
    }