¿Cómo puedo limitar una instrucción foreach()? Digamos que solo quiero que se ejecuten los primeros 2 'eaches' o algo así?PHP: instrucción Limit foreach()?
24
A
Respuesta
31
También se puede usar
break;
o
foreach() if ($tmp++ < 2) {
}
(la segunda solución es aún peor)
74
Hay muchas maneras, una es utilizar un contador:
$i = 0;
foreach ($arr as $k => $v) {
/* Do stuff */
if (++$i == 2) break;
}
Otra manera sería la de cortar los 2 primeros elementos, esto no es tan eficiente sin embargo:
foreach (array_slice($arr, 0, 2) as $k => $v) {
/* Do stuff */
}
También podría hacer algo como esto (básicamente la misma que la primera foreach, pero por):
for ($i = 0, reset($arr); list($k,$v) = each($arr) && $i < 2; $i++) {
}
13
4
esta es la mejor solución para mí :)
$i=0;
foreach() if ($i < yourlimitnumber) {
$i +=1;
}
8
En PHP 5.5 o superior, puede hacerlo
function limit($iterable, $limit) {
foreach ($iterable as $key => $value) {
if (!$limit--) break;
yield $key => $value;
}
}
foreach (limit($arr, 10) as $key => $value) {
// do stuff
}
Generators roca.
Cuestiones relacionadas
- 1. palabra clave LIMIT en MySQL con instrucción preparada
- 2. Uso de la instrucción LIMIT en una consulta SQLite
- 3. ¿Qué tan universal es la instrucción LIMIT en SQL?
- 4. PHP stop foreach()
- 5. PHP bucles Foreach
- 6. PHP switch() instrucción
- 7. PHP instrucción foreach por referencia: comportamiento inesperado cuando la reutilización de iterador
- 8. PHP foreach con Nested Array?
- 9. PHP Foreach If Array Last
- 10. PHP bucle foreach ejemplo confusión
- 11. ¿Es una instrucción LINQ más rápida que un bucle 'foreach'?
- 12. ¿Doble salto de foreach con una instrucción "If"?
- 13. Cláusula LIMIT variable en MySQL
- 14. Rendimiento de FOR vs FOREACH en PHP
- 15. onSaveInstanceState limit?
- 16. instrucción switch php dentro de otra instrucción switch
- 17. ¿Devuelve valores distintos del bucle foreach en php?
- 18. PHP - If/else, for, foreach, while - ¿sin llaves?
- 19. consultas MySQL vs php foreach múltiple bucles
- 20. PHP foreach que solo devuelve claves
- 21. foreach equivalente a php en jquery?
- 22. php orden aleatorio de un foreach
- 23. PHP incluir archivo en foreach Loop
- 24. foreach anidados en el problema de PHP
- 25. PHP bucle foreach través matriz multidimensional
- 26. PHP Pasar por referencia en foreach
- 27. Perl equivalente a PHP bucle foreach
- 28. PHP sencillo bucle foreach con HTML
- 29. LIMIT/OFFSET en Oracle 11G
- 30. SQL LIMIT no devuelve ningún resultado donde no LIMIT devuelve resultados
el último sería muy lento y malo. use 1 o 2 en su lugar. – mauris
La primera es la mejor, creo que – goksel
también puedes usar $ k como clave, if ($ k == 2) {break; } – Ruben