Какой самый эффективный способ выбрать каждый n-й элемент из большого массива? Есть ли "умный" способ сделать это или перебирает единственный путь?
Некоторые моменты, которые следует учитывать:
- Массив довольно большой с 130 000 элементов
- Мне нужно выбрать каждый 205-й элемент
- Элементы не индексируются численно, поэтому
for($i = 0; $i <= 130000; $i += 205)
не будет работать
Пока это самый эффективный метод, с которым я столкнулся:
$result = array();
$i = 0;
foreach($source as $value) {
if($i >= 205) {
$i = 0;
}
if($i == 0) {
$result[] = $value;
}
$i++;
}
Или то же самое с модулем:
$result = array();
$i = 0;
foreach($source as $value) {
if($i % 205 == 0) {
$result[] = $value;
}
$i++;
}
Эти методы могут быть довольно медленными, есть ли способ улучшить? Или я просто раскалываю волосы здесь?
ИЗМЕНИТЬ
Хорошие ответы вокруг с правильными объяснениями, старались выбрать наиболее подходящий, как принятый ответ. Спасибо!