Cita:
Iniciado por sonickseven 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.