Количество предметов в строке - PullRequest
0 голосов
/ 08 ноября 2011

Я пытаюсь узнать, сколько раз subject встречается в этой строке из таблицы FQL.Я пробовал SUM, Count, Explode и т. Д. И все возможные комбинации, которые я мог придумать.

Все, что я когда-либо получал, это либо первый элемент, либо массив ошибок.

Я новичок в 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 в качестве ответа.

Спасибо

Ответы [ 2 ]

1 голос
/ 08 ноября 2011

попробуйте $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 голосов
/ 09 ноября 2011

Просто перечитайте OP, что-то вроде запутанного ответа, основанного на «примере массива».

Если $ fqlResult - строка

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

Если $ fqlResult - массив

echo count($fqlResult);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...