Страница 1 из 1

Работа с Array (JSON+PHP)

Добавлено: 25 окт 2012, 13:58
wierusna
Есть переменная $resp которая из $res получает данные (одну тысячу IDшников пользователей, которые кликнули РАССКАЗАТЬ ДРУЗЬЯМ)

Код: Выделить всё

$res = file_get_contents('https://api.vk.com/method/likes.getList?type=post&owner_id=-23148107&item_id=1577222&count=1000&offset=0&filter=copies');$resp = json_decode($res, true);
Есть вторая переменная $resp2 которая при условии, если в первой переменной IDшников больше чем 1000 или = 1000, получает данные из $res2 (вторую тысячу IDшников пользователей, которые кликнули РАССКАЗАТЬ ДРУЗЬЯМ)

Код: Выделить всё

if ($resp['response']['count'] >= 1000){$res2 = file_get_contents('https://api.vk.com/method/likes.getList?type=post&owner_id=-23148107&item_id=1577222&count=1000&offset=1000&filter=copies');$resp2 = json_decode($res2, true);}

Есть рандомайзер, который при условии, если в $resp IDшников больше чем 1000 или = 1000, должен рандомно выбрать один ID из второй партии тысячников
То есть из этого запроса

Код: Выделить всё

$res2 = file_get_contents('https://api.vk.com/method/likes.getList?type=post&owner_id=-23148107&item_id=1577222&count=1000&offset=1000&filter=copies');
Вот рандомайзер

Код: Выделить всё

if ($resp['response']['count'] >= 1000){$sub2=rand(1000,2000);}/*Параметр который будет записываться в базу2*/

Код: Выделить всё

 fputs ( $file2, $resp2['response']['users'][$sub2]."\n");}/*Записываем значения из рандомайзера в файл*/

Вся проблема заключается в этом самом ВЫБОРЕ РАНДОМНОГОID. Ведь значение count может быть 1300 (оно больше тысячи но меньше 2000)
То есть рандомайзер будет выбирать среди 300 IDшников такой функцией $sub2=rand(1000,2000) что конечно же неправильно. Как сделать так, что бы он работал в точном диапазоне, НО не больше 2000.

Re: Работа с Array (JSON+PHP). ПОМОГИТЕ!

Добавлено: 25 окт 2012, 14:22
wierusna
Вроде как решил проблему

Код: Выделить всё

$fr = sizeOf($resp2['response']['users']);

Re: Работа с Array (JSON+PHP). ПОМОГИТЕ!

Добавлено: 25 окт 2012, 15:05
Александр
wierusna
В $resp - 1000 значений
В $resp2 - тоже 1000 значений (или меньше). Но никак не 2000. Поэтому rand(1,1000). Или не 1000, а $resp2['response']['users'].

Re: Работа с Array (JSON+PHP). ПОМОГИТЕ!

Добавлено: 25 окт 2012, 15:10
wierusna
Александр писал(а):wierusna
Поэтому rand(1,1000).
А почему с 1 начинаете? Ведь отсчет идет с 0 или я не прав?
То есть $resp = 0 - 999
Соответственно 1 - это уже второй ИД из массива , а 1000 это уже 1й ИД из второй тысячи ИДишников

Re: Работа с Array (JSON+PHP)

Добавлено: 26 окт 2012, 18:55
Александр
wierusna
Да, надо от 0 до 999.