首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Php Curl和Json

Php Curl和Json
EN

Stack Overflow用户
提问于 2013-01-29 20:30:24
回答 2查看 154关注 0票数 0

我的问题是,我想访问我的fb朋友使用curl和解码成json,然后我想只显示那些朋友的名字以字母a开头,如阿曼,亚当等,请帮助me..Following是我的代码。

代码语言:javascript
复制
<?php
// create a new cURL resource
$json_url="https://graph.facebook.com/100001513782830/friends?access_token=AAACEdEose0cBAPdK62FSjs4RvA21efqc8ZBKyzAesT5r4VSpu0XScAYDtKrCxk4PmcRBVzE2SLiGvs2d5FeXvZAD72ZCShwge3vk4DQqRAb8vLlm1W3";
$ch = curl_init( $json_url );


    // Configuring curl options
/*  $options = array(
        CURLOPT_RETURNTRANSFER => true,
        CURLOPT_HTTPHEADER => array('Content-type: application/json')
        );

    // Setting curl options
    curl_setopt_array( $ch );

    */// Getting results
    $result =  curl_exec($ch); // Getting jSON result string

    $obj = json_decode($result, true);
    foreach($obj[data] as $p)
    {
        echo '

        Name: '.$p[name][first].'

        Age: '.$p[age].'

        ';

    }
EN

回答 2

Stack Overflow用户

发布于 2013-01-29 20:35:42

当然,您将尝试不对"a“进行硬编码,但出于此目的:

代码语言:javascript
复制
foreach($obj[data] as $p){
  if(strtolower(substr(trim($p[name][first]),0,1)) == 'a'){
       echo 'Name: '.$p[name][first].'Age: '.$p[age];
  }
}
票数 0
EN

Stack Overflow用户

发布于 2013-01-29 20:45:57

顺便说一句,将安全令牌(在URL中)发布到公共场所并不是一个好主意。

由于名称是string,您可以简单地迭代该数组并按名称进行过滤:

代码语言:javascript
复制
$letter = 'A';
foreach($obj['data'] as $p) {
    if ($p['name'][0] == $letter) {
        // do something with $p
    }
}

但是UTF-8有一个小问题--这个解决方案(还有那个带有substr的解决方案)不能处理多字节字符。所以你需要使用mb_substr而不是普通的substr函数:

代码语言:javascript
复制
foreach($obj['data'] as $p) {
    if(mb_strtolower(mb_substr($p['name'], 0, 1))) == 'Á'){
        echo "Name: ", $p['name'], "\n",
             "Age: ", $p['age'], "\n";
    }
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14582948

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档