Esta es probablemente una pregunta simple, pero ¿cómo iterar a través de una matriz, haciendo algo para cada una, hasta la última y hacer algo diferente?Cómo usar un bucle foreach, pero hacer algo diferente en la última iteración?
Tengo una serie de nombres. Quiero mostrar la lista de nombres separados por comas.
José, Roberto Foobar
no quiero una coma al final del último nombre en la matriz, ni si sólo hay un valor de la matriz (o ninguno!) .
Actualización: No puedo usar implode()
porque tengo una matriz de objetos del modelo de usuario donde obtengo el nombre de cada objeto.
$users = array();
$users[] = new User();
foreach ($users as $user) {
echo $user->name;
echo ', ';
}
¿Cómo puedo lograr esto y seguir usando estos objetos?
Actualización: Me estaba preocupando demasiado sobre cuántas líneas de código estaba poniendo en mi script de vista, así que decidí crear una vista auxiliar en su lugar. Esto es lo que terminé con:
$array = array();
foreach($users as $user) {
$array[] = $user->name;
}
$names = implode(', ', $array);
@ Andrew, he actualizado mi pregunta con una respuesta a su actualización. –