Ne büyük bir dizi her n öğeyi seçmek için en efficient yolu olurdu? Bunu yapmak için bir 'akıllı' bir yolu var mı yoksa tek yolu döngü nedir?
Dikkat etmeniz gereken bazı noktalar:
- Dizi 130 000 öğeleri ile oldukça büyük
- Her 205 öğe seçmek zorunda
- Öğeler sayısal endeksli değildir, bu yüzden
for($i = 0; $i <= 130000; $i += 205)çalışmaz
Şimdiye kadar, bu ben ile geldim en etkili yöntem:
$result = array();
$i = 0;
foreach($source as $value) {
if($i >= 205) {
$i = 0;
}
if($i == 0) {
$result[] = $value;
}
$i++;
}
Veya modulonun ile aynı:
$result = array();
$i = 0;
foreach($source as $value) {
if($i % 205 == 0) {
$result[] = $value;
}
$i++;
}
Bu yöntemler oldukça yavaş olabilir, geliştirmek için herhangi bir yolu var mı? Yoksa sadece burada tüyleri yarma am?
EDIT
İyi cevaplar çevresinde uygun açıklamalar ile, kabul edilen yanıt olarak en uygun almaya çalıştı. Teşekkürler!