Вообщем, написал скрипт, выполняющий репосты из групп ВКонтакте по расписанию(1 запись из каждой группы каждый день). Позже заметил, что не всегда выполняются репосты из групп. Решил пересмотреть код и вот что заметил:
Берется рандомный элемент массива (запись со стены) и проверяется на условия. Все верно - делаем репост.
Так вот, как сделать так, чтобы эти условия проверялись до того, как выберется рандомный элемент массива (пост). Дабы сразу выбирать пост из уже проверенных и проходящих по условию. Вот мой код, который на данный момент пропускает репосты:
while($row = $qwe->fetch()) {
$wall = file_get_contents("https://api.vk.com/method/wall.get?v=5.4&filter=owner&count=1000&owner_id=-".$row['id']);
$wall = json_decode($wall);
$wall = $wall->response->items;
$i = mt_rand(1, count($wall));
$x = $wall[$i]->post_type;
$z = $wall[$i]->is_pinned;
if($x == 'post')
{
if($z !== 1)
{
$repost = file_get_contents("https://api.vk.com/method/wall.repost?v=5.4&object=wall-".$row['id']."_".$wall[$i]->id."&group_id=".$gid."&access_token=".$token);
$repost = json_decode($repost);
}
}
sleep(mt_rand(25, 45));
}