2010-10-02 14 views

Respuesta

25

Iniciar un contador y utilizar continue saltarse los primeros diez bucles:

$counter = 0 ; 
foreach($aSubs as $aSub) { 
    if($counter++ < 10) continue ; 
    // Loop code 
} 
+1

que funciona a la perfección. Que buena idea. Gracias – tmartin314

2

uso de iteradores:

$a = array('a','b','c','d'); 
$skip = 2; 
foreach (new LimitIterator(new ArrayIterator($a), $skip) as $e) 
{ 
    echo "$e\n"; 
} 

Salida:

c 
d 

o utilizando el índice (si la matriz tiene teclas número entero de 0 .. n-1):

foreach ($a as $i => $e) 
{ 
    if ($i < $skip) continue; 
    echo "$e\n"; 
} 
0

If $ Asups un no es un objeto de una clase que implementa iterador, y los índices son números enteros consecutivos (a partir de cero), lo haría más fácil a:

$count = count($aSubs); 
for($i = 9, $i < $count; $i++) { 
    // todo 
} 
0

en realidad, no es necesario declarar otra variable $counter mediante el uso de la ventaja de foreach li bucle esto:

foreach ($aSubs as $index => $aSub) { 
    if ($index < 10) continue; 
    // Do your code here 
} 

Esta es una manera mejor que declarar otra variable fuera del ciclo foreach.

Cuestiones relacionadas