2011-11-08 12 views
0

件名がFQLテーブルからこの文字列に現れるようにしようとしています。 私は、SUM、Count、爆発などを試してみました。考えられるすべての組み合わせを試しました。文字列中の項目の数

私が今までに受け取ったのは、最初の項目か、エラーの配列のいずれかです。

私はPHPを使い慣れていませんでしたが、愚かなことに固執していますが、失敗した数時間後に私は専門家に話をします。ここで

try { 
    $me = $facebook->api('/me'); 
    $fql = "SELECT subject FROM photo_tag WHERE subject=me()"; 
    $param = array(
         'method' => 'fql.query', 
         'query'  => $fql, 
         'callback' => '' 
        ); 
    $fqlResult = $facebook->api($param); 

    foreach($fqlResult as $row){ 
      //sum, count, explode or somthing? 

     $photo_tag_count = $row['subject']; 

    } 
     echo "$photo_tag_count"; 


} catch (FacebookApiException $e) { 
    error_log($e); 
} 

は、配列の例です:

[{"subject": "123"},{"subject": "123"},{"subject": "123"}]

だから私は答えとして3を探しています。

おかげ

答えて

0

"example of array"について、OPのような混乱しやすい応答を再読み込みするだけです。

$ fqlResultが文字列の場合

echo count(explode(',', $fqlResult)); 

$ fqlResultは「1」が返される配列

echo count($fqlResult); 
+0

ありがとう、あなたの2番目の解決策は私が$ fqlResultを見過ごす見落とした。それ以外はすべて1を返しました。 – Mountaininja

1

$photo_tag_count = count($row['subject']); を試すか、二つのうちの一つが動作するはず$photo_tag_count = count($row); を試すことになるそのハードをカウントするかを把握するので、私は、あなたの 配列がどのようなものかわかりません。

地獄、あなたもこれを行うことができます。

$photo_tag_count = 0 
foreach($fqlResult as $row){ 

     if($row['subject']) {$photo_tag_count++;} 

    } 
     echo "$photo_tag_count"; 


} catch (FacebookApiException $e) { 
    error_log($e); 
} 
+0

おかげで愛媛、私はこれらのソリューションを試みたが、私は唯一の取得または最初の値である場合配列。上記の配列の例を示します。それで私は答えとして3を探しています。 – Mountaininja

関連する問題