Хорошо, похоже, у вас есть массив идентификаторов друзей, который не является ассоциативным, то есть array(0 => 'userid0', 1 => 'userid1', etc)
, и массив идентификаторов бюллетеней, который является ассоциативным, т.е. array('bulletin1' => 'userid1', 'bulletin2' => 'userid2', etc)
.
Исходя из этого предположения, вы можете получить все соответствующие бюллетени, используя array_intersect () . Затем вы можете взять первые пятьдесят бюллетеней с помощью array_slice () :
$matchingBulletins = array_intersect($bulletins, $friends);
$first50 = array_slice(array_keys($matchingBulletins),0,50);
Звучит так, как будто вы, возможно, получаете эти данные из базы данных, и в этом случае было бы гораздо разумнее как-то отфильтровать результаты вашей базы данных и не возвращать 10000 идентификаторов каждый раз. Вы можете выполнить сортировку и фильтрацию, используя JOIN
s и WHERE
s в соответствующих таблицах.