2013-04-18 2 views
0

Я хотел бы знать, как подсчитать, сколько людей следует кого-то в Instagram и поместить номер в вар, Instagram дает эту ссылку:Подсчет результатов отображается

https://api.instagram.com/v1/users/3/followed-by?access_token=xxxxxxxxx.xxxxxxxxxxxxxxxxxxxx 

и отображает результат, как так

{ 
    "data": [{ 
     "username": "meeker", 
     "first_name": "Tom", 
     "profile_picture": "http://distillery.s3.amazonaws.com/profiles/profile_6623_75sq.jpg", 
     "id": "6623", 
     "last_name": "Meeker" 
    }, 
    { 
     "username": "Mark", 
     "first_name": "Mark", 
     "profile_picture": "http://distillery.s3.amazonaws.com/profiles/profile_29648_75sq_1294520029.jpg", 
     "id": "29648", 
     "last_name": "Shin" 
    }, 
    { 
     "username": "nancy", 
     "first_name": "Nancy", 
     "profile_picture": "http://distillery.s3.amazonaws.com/profiles/profile_13096_75sq_1286441317.jpg", 
     "id": "13096", 
     "last_name": "Smith" 
    }] 
} 

Как я могу подсчитать, сколько там и поместить его в вар, позволяет сказать:

<? echo "You are been follow by ".$followers." users!"; ?> 

к ДИСПЛЕЙ y: Вас ждут 3 пользователя!

+0

Ну, что вы пробовали? – dbf

ответ

3

You бы необходимо использовать json_decode для декодировать ответ JSON, а затем получить доступ к атрибуту данных результирующего объекта (массив «последователя» объектов), и считать, что:

$json = '{ 
    "data": [{ 
     "username": "meeker", 
     "first_name": "Tom", 
     "profile_picture": "http://distillery.s3.amazonaws.com/profiles/profile_6623_75sq.jpg", 
     "id": "6623", 
     "last_name": "Meeker" 
    }, 
    { 
     "username": "Mark", 
     "first_name": "Mark", 
     "profile_picture": "http://distillery.s3.amazonaws.com/profiles/profile_29648_75sq_1294520029.jpg", 
     "id": "29648", 
     "last_name": "Shin" 
    }, 
    { 
     "username": "nancy", 
     "first_name": "Nancy", 
     "profile_picture": "http://distillery.s3.amazonaws.com/profiles/profile_13096_75sq_1286441317.jpg", 
     "id": "13096", 
     "last_name": "Smith" 
    }] 
}'; 
$json = json_decode($json); 
echo "You have " .count($json->data) ." followers" 

ИЛИ

$json = json_decode($json,true); 
echo "You have " .count($json['data']) ." followers" 
+0

Как я могу добавить URL? потому что я пытаюсь использовать '$ json = 'https://api.instagram.com/v1/users/355362198/follows?access_token=355362198.ab103e5.fd1a74e51a964e5bb18e4ca69d0c9b39 '; 'но дает мне 0 –

+0

Хорошо сделано, необходимо добавить' file_get_contents' –

+0

@mithunsatheesh, пожалуйста, будьте осторожны при редактировании ответов, текст текста объяснения удален. – dbf

0

Используйте json_decode() для создания массива PHP из JSON. Тогда вы можете просто сделать count() на что:

$jsonData = json_decode($yourAPIResult); 
echo count($jsonData->data); 

Имейте в виду, однако, что вы, вероятно, следует настроить некоторые обработки ошибок в случае, если API не возвращает правильную строку JSON. Так что-то подобное может быть лучше:

if (is_null($jsonData) || !property_exists($jsonData, 'data')) { 
    echo '?'; 
} else { 
    echo count($jsonData->data); 
} 
1

Вы получаете в виде строки JSON, вам необходимо декодировать его с помощью json_decode.

$data = json_decode($string,true); 
$followers = count($data['data']); 

CodePad Demo.

+0

Вы пропустили часть, в которой пользователи хранятся в разделе «данные» ассоциативного массива. :) Это, вероятно, всегда даст 1. –

+0

@TillHelgeHelwig - Да, просто получилось, что при создании демо :) Спасибо. – Rikesh

0

Вам необходимо использовать json_decode(), который вернет вам массив PHP. Тогда все, что вам нужно сделать, это count() все значения в массиве с ключом «данные».

0

Вы можете использовать json_decode

$array = json_decode($str); 

Тогда дайте

echo count($array); 

Это даст общее количество пользователей

+0

Нет. Это даст 1. Всегда. –

+0

$ str = 'https://api.instagram.com/v1/users/355362198/followed-by?access_token=355362198.ab103e5.fd1a74e51a964e5bb18e4ca69d0c9b39'; –

0

простой способ подсчета записей возвращается asJSON

echo count(json_decode($followers); 
+0

И тогда он узнает, есть ли еще какие-то записи, кроме «данных». ;) –

Смежные вопросы