Ver Mensaje Individual
  #7 (permalink)  
Antiguo 14/07/2013, 22:08
Avatar de Italico76
Italico76
 
Fecha de Ingreso: abril-2007
Mensajes: 3.303
Antigüedad: 17 años, 1 mes
Puntos: 292
Cita:
Iniciado por sonickseven Ver Mensaje
un algoritmo para que saber cual es el ultimo de un ciclo foreach?
Esta pregunta ya es recurrente... y se soluciona mas eficientemente de otras formas... dependiendo de si el array es o no asociativo:

Código PHP:
<?php 
$foo 
= array('candy''foo','bar');
$cadena null;

for (
$i=0;$i<count($foo)-1;$i++)
    
$cadena .= $foo[$i].' ,';

// Luego procesas el ultimo por separado:
$cadena .= $foo[$i];

echo 
$cadena;  // salida: candy ,foo ,bar

OJO: lo que te dicen esta BIEN... pero insisto mucho en no hacer IFs de mas y sobre todo dentro de un bucle, pues son tantos como ciclados

El chiste esta en no incluir el ultimo elemento en la iteracion, aqui mediante count($foo)-1, en vez de andar preguntando todo el tiempo: "es el ulttimo ?" .. "es el ulttimo ?" .. "es el ulttimo ?"

Cada vez veo menos..... en fin...... quieres saber si es el ultimo elemento para procesarlo diferente ? ahi tienes una solucion.. la otra que es para mi no tan buena es preguntar dentro del foreach cada ciclado si es el ultimo.

@Triby: para mi lo que preguntas es "entro al foreach ?" y pues eso se resuelve sabiendo si tiene 0 o mas elementos, si no tiene elementos, pues no entra y ya. Creeria que lo que se busca es un procesamiento diferente del ultimo elemento.
__________________
Salu2!

Última edición por Triby; 14/07/2013 a las 23:07