Foros del Web » Programando para Internet » PHP »

Quitar la ultima coma en un while

Estas en el tema de Quitar la ultima coma en un while en el foro de PHP en Foros del Web. Hola amigos , He hecho un while que muestra los usuarios separados con "," asi: Código: echo '<a href="' . $url . '/perfil.php?id=' . $datosusuario['id'] ...
  #1 (permalink)  
Antiguo 05/03/2014, 10:51
 
Fecha de Ingreso: abril-2010
Mensajes: 267
Antigüedad: 14 años
Puntos: 1
Quitar la ultima coma en un while

Hola amigos ,
He hecho un while que muestra los usuarios separados con "," asi:
Código:
echo '<a href="' . $url . '/perfil.php?id=' . $datosusuario['id'] . '" style="color: ' . $color_rango . ';">' . $datosusuario['usuario'] . '</a>, ';
Pero.. ¿Como hago para que el último usuario que se ponga no le añada la ","

¡Muchas Gracias! :D
  #2 (permalink)  
Antiguo 05/03/2014, 11:01
Avatar de NSD
NSD
Colaborador
 
Fecha de Ingreso: mayo-2012
Ubicación: Somewhere
Mensajes: 1.332
Antigüedad: 11 años, 11 meses
Puntos: 320
Respuesta: Quitar la ultima coma en un while

usando rtrim
__________________
Maratón de desafíos PHP Junio - Agosto 2015 en FDW | Reglamento - Desafios
  #3 (permalink)  
Antiguo 05/03/2014, 11:04
Avatar de andresgarciadev  
Fecha de Ingreso: junio-2013
Mensajes: 218
Antigüedad: 10 años, 9 meses
Puntos: 32
Respuesta: Quitar la ultima coma en un while

bueno... si tienes un arreglo podrias hacerle un sizeof y que cuando la cantidad de vueltas sea igual a ese sizeof -1 entonces no le agregas coma....
  #4 (permalink)  
Antiguo 05/03/2014, 11:05
 
Fecha de Ingreso: abril-2010
Mensajes: 267
Antigüedad: 14 años
Puntos: 1
Respuesta: Quitar la ultima coma en un while

Hola NSD, ¿Cómo debo ponerlo?. Perdona pero esque no soy tan experto en php y quisiera aprender XD.
¡Un saludo! :)
  #5 (permalink)  
Antiguo 05/03/2014, 11:27
Avatar de andresgarciadev  
Fecha de Ingreso: junio-2013
Mensajes: 218
Antigüedad: 10 años, 9 meses
Puntos: 32
Respuesta: Quitar la ultima coma en un while

lo que NSD dice es que uses el rtrim que te permite borrar algo de la parte derecha de la cadena
rtrim($cadena, ",");
pero tendrias que hacer la validacion igual si es un bucle.... amenos q lo conserves todo en un string y despues solo le aplicas el rtrim a la cadena completa... asi no habria necesidad de validacion
  #6 (permalink)  
Antiguo 05/03/2014, 12:29
Avatar de NSD
NSD
Colaborador
 
Fecha de Ingreso: mayo-2012
Ubicación: Somewhere
Mensajes: 1.332
Antigüedad: 11 años, 11 meses
Puntos: 320
Respuesta: Quitar la ultima coma en un while

Cuando se tiene algo de ese tipo, lo que se hace es motrar el anterior y al ultimo hacerle un rtrim, es lo mas claro ya que no se agregan validaciones ni nada extra:

Código PHP:
Ver original
  1. $anterior = '';
  2.  
  3. while($cond)
  4. {
  5. echo($anterior);
  6.  
  7. /. Hacer algo aca y guardarlo en anterior./
  8. $anterior = 'algo, ';
  9. }
  10. echo(rtrim($anterior, ','));

otra forma es con implode y un array:
Código PHP:
Ver original
  1. $textos = array();
  2. while($cond)
  3. {
  4. /. Hacer algo aca y guardarlo en anterior./
  5. $textos[] = 'algo';
  6. }
  7. echo(implode(',', $textos));
__________________
Maratón de desafíos PHP Junio - Agosto 2015 en FDW | Reglamento - Desafios
  #7 (permalink)  
Antiguo 05/03/2014, 14:01
Avatar de andresgarciadev  
Fecha de Ingreso: junio-2013
Mensajes: 218
Antigüedad: 10 años, 9 meses
Puntos: 32
Respuesta: Quitar la ultima coma en un while

la primera opcion sin array si nunca lo habia pensado xD muy buena
  #8 (permalink)  
Antiguo 05/03/2014, 20:53
Avatar de NSD
NSD
Colaborador
 
Fecha de Ingreso: mayo-2012
Ubicación: Somewhere
Mensajes: 1.332
Antigüedad: 11 años, 11 meses
Puntos: 320
Respuesta: Quitar la ultima coma en un while

Hay un monton de variantes, otra eficiente también seria:
Código PHP:
Ver original
  1. $cond = true; // Aca debe ir la exprecion a evaluar, en lugar del true.
  2. while($cond)
  3. {
  4. /. Hacer algo aca y guardarlo en un auxiliar./
  5. $aux = 'algo';
  6.  
  7. $cond = true; // Aca debe ir la exprecion a evaluar, en lugar del true.
  8.  
  9. echo($aux.($cond ? ', ' : ''));
  10. }

es mas eficiente que las dos anteriores aunque no tan clara. saludos
__________________
Maratón de desafíos PHP Junio - Agosto 2015 en FDW | Reglamento - Desafios

Etiquetas: coma, usuarios
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 01:54.