Ver Mensaje Individual
  #2 (permalink)  
Antiguo 24/06/2013, 15:14
Avatar de Italico76
Italico76
 
Fecha de Ingreso: abril-2007
Mensajes: 3.303
Antigüedad: 17 años, 1 mes
Puntos: 292
Respuesta: Saber cuanto estoy en el ultimo registro de un foreach

Primero repasemos....... puedes si quieres chequear asi...pero estar preguntando por cada ciclo, es INEFICIENTE:

Código PHP:
<?php
$letras 
= array('a','b','c');

$tot count($letras);

foreach (
$letras as $key=>$letra)
{
     echo 
"[{$key}] =  {$letra} <br/>";
    if (
$key == $tot-1)
        echo 
'Ultimo ciclado';
}

Puede claro ciclar tambien con iteradores y si quisieras al final preguntas IF (valid()) y pues si te da FALSE ... es la misma historia

Código PHP:
<?php
$letras 
= array('a','b','c');

$obj = new ArrayObject$letras );
$it $obj->getIterator();

echo 
"Son: " $obj->count() . " elementos<p/>";

while( 
$it->valid() )
{
    echo 
"[{$it->key()}] =  {$it->current()} <br/>";
    
$it->next();
}
y otra variacion, mas directa:

Código PHP:
<?php
$letras 
= array('a','b','c');

$it = new ArrayIterator $letras );

while( 
$it->valid() )
{
    echo 
"[{$it->key()}] =  {$it->current()} <br/>";
    
$it->next();
}
Si tu quieres puedes terminar de ciclar ANTES ......


Código PHP:
<?php
$letras 
= array('a','b','c');

$tot count($letras);

for (
$i=0;$i<$tot-1;$i++)
{
   (
algo)
}
(
algo distinto)
Ejemplo:

Código PHP:
<?php
$letras 
= array('a','b','c');

$tot count($letras);
$cadena null;

for (
$i=0;$i<$tot-1;$i++)
{
   
$cadena .= $letras[$i].'+'// algo
}
$cadena .= $letras[$i];  // algo parecido

echo $cadena;  // 'a+b+c'
__________________
Salu2!

Última edición por Italico76; 24/06/2013 a las 18:23