Facebook fql результат в массиве json_encode - PullRequest
1 голос
/ 02 июля 2011

новичок здесь, мой код ниже выводит как [{"src":"http","src":"http"},{"src":"http","src":"http"}], используя json_encode.однако мое требование будет выглядеть следующим образом: [["http","http"],["http","http"]]

//to get album cover
        $fql2    =   "select  src from photo where pid = '" . $values['cover_pid'] . "'";
        $param2  =   array(
         'method'    => 'fql.query',
         'query'     => $fql2,
         'callback'  => ''
        );

        $fqlResult2   =   $facebook->api($param2);
        $jsarr  =   array();
        foreach( $fqlResult2 as $keys2 => $values2){
        }
        if ($values['name'] != 'Profile Pictures'){
            $jsarr['src'] = $album['src'];

                $count += 1;

        if ($count == 1){
        echo "[";}
        else {
        echo ",";}
        echo json_encode($values2);
        }
    }
    echo "]";
}
?>

мой вывод json_encode будет таким:

[{"src":"http:\/\/photos-c.ak.fbcdn.net\/hphotos-ak-snc6\/251383_221168744573533_221167777906963_849177_3220954_s.jpg"},{"src":"http:\/\/photos-d.ak.fbcdn.net\/hphotos-ak-ash4\/248958_221168431240231_221167777906963_849167_3802855_s.jpg"}]

как мне вывести его таким образом

[["http:\/\/photos-c.ak.fbcdn.net\/hphotos-ak-snc6\/251383_221168744573533_221167777906963_849177_3220954_s.jpg"],["http:\/\/photos-d.ak.fbcdn.net\/hphotos-ak-ash4\/248958_221168431240231_221167777906963_849167_3802855_s.jpg"]]

1 Ответ

1 голос
/ 04 августа 2011

Одним простым способом было бы сохранить результат json_encode в переменной, а затем str_replace { и } символов.

Таким образом, ваш код станет:

//to get album cover
    $fql2    =   "select  src from photo where pid = '" . $values['cover_pid'] . "'";
    $param2  =   array(
     'method'    => 'fql.query',
     'query'     => $fql2,
     'callback'  => ''
    );

    $fqlResult2   =   $facebook->api($param2);
    $jsarr  =   array();
    foreach( $fqlResult2 as $keys2 => $values2){
    }
    if ($values['name'] != 'Profile Pictures'){
        $jsarr['src'] = $album['src'];

            $count += 1;

    if ($count == 1){
    $outputStr .= "[";}
    else {
    $outputStr .= ",";}
    $outputStr .= json_encode($values2);
    }
}
$outputStr .= "]";
$outputStr = str_replace("{","[",$outputStr);
$outputStr = str_replace("}","]",$outputStr);
echo $outputStr;
}
?>
...