todos hemos oído hablar de la forma en un bucle for
, debemos hacer esto:¿Cómo se lee una matriz en un bucle foreach de PHP?
for ($i = 0, $count = count($array); $i < $c; ++$i)
{
// Do stuff while traversing array
}
en lugar de esto:
for ($i = 0; $i < count($array); ++$i)
{
// Do stuff while traversing array
}
por razones de rendimiento (es decir, la inicialización $count
hubiera llamado count()
sólo una vez , en lugar de llamar al count()
con cada comprobación condicional).
lo hace luego también hacer una diferencia si, en un bucle foreach
, hago esto:
$array = do_something_that_returns_an_array();
foreach ($array as $key => $val)
{
// Do stuff while traversing array
}
en lugar de esto:
foreach (do_something_that_returns_an_array() as $key => $val)
{
// Do stuff while traversing array
}
circunstancias asumiendo me permite utilizar cualquiera de los dos? Es decir, ¿PHP llama a la función solo una vez en ambos casos, o es como for
donde el segundo caso llamaría a la función una y otra vez?
Ejecuta una prueba! Haga que la función 'do_something_that_returns_an_array()' repita algo internamente. – Artelius