Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] Como ordenar los resultados de un simplexml_load_file con PHP

Estas en el tema de Como ordenar los resultados de un simplexml_load_file con PHP en el foro de PHP en Foros del Web. Estoy tratando de obtener los resultados ordenados por orden alfabetico de una lista de nombres alojados en un xml, mi codigo es el siguiente: Código ...
  #1 (permalink)  
Antiguo 12/12/2013, 18:08
 
Fecha de Ingreso: septiembre-2010
Mensajes: 66
Antigüedad: 13 años, 7 meses
Puntos: 2
Pregunta Como ordenar los resultados de un simplexml_load_file con PHP

Estoy tratando de obtener los resultados ordenados por orden alfabetico de una lista de nombres alojados en un xml, mi codigo es el siguiente:

Código PHP:
$sxml simplexml_load_file("/videos.xml");
$res $sxml->xpath("/mensajes/mensaje");

$posts = array();

foreach(
$res as $art2)
{
    
$posts[] = $art2->nombre;
}


sort($posts);

$clength=count($posts);
for(
$x=0;$x<$clength;$x++)
   {
   echo 
$posts[$x];
   echo 
"<br>";
   } 
Me arroja los nombres pero en desorden, es como si la funcion sort no hiciese efecto, ¿en que me estoy equivocando?, gracias.
  #2 (permalink)  
Antiguo 12/12/2013, 18:28
Avatar de jonni09lo
Colaborador
 
Fecha de Ingreso: septiembre-2011
Ubicación: Estigia
Mensajes: 1.471
Antigüedad: 12 años, 7 meses
Puntos: 397
Respuesta: Como ordenar los resultados de un simplexml_load_file con PHP

Sería de gran ayuda que muestres los datos del array, el mismo manual de PHP dice:

Cita:
Se ha de tener cuidado cuando se ordenen arrays con valores de tipos mixtos ya que sort() puede producir resultados impredecibles.
Así que has un var_dump de $post y postea lo que imprime

Saludos
__________________
Haz preguntas inteligentes-Como ser Hacker
No hacer preguntas por mensaje privado. No sólo no es inteligente sino que es egoísta.
  #3 (permalink)  
Antiguo 12/12/2013, 19:05
 
Fecha de Ingreso: septiembre-2010
Mensajes: 66
Antigüedad: 13 años, 7 meses
Puntos: 2
Respuesta: Como ordenar los resultados de un simplexml_load_file con PHP

Que tal jonni09lo, gracias por su repuesta, acabo de hacer el var_dump de $posts:

array(5) {
[0]=> object(SimpleXMLElement)#10 (1) { [0]=> string(13) "Felipe Guzman" }
[1]=> object(SimpleXMLElement)#8 (1) { [0]=> string(11) "Ivan garcia" }
[2]=> object(SimpleXMLElement)#7 (1) { [0]=> string(13) "Miguel lesmes" }
[3]=> object(SimpleXMLElement)#9 (1) { [0]=> string(13) "Juan Tarazona" }
[4]=> object(SimpleXMLElement)#11 (1) { [0]=> string(15) "Enrique Alvarez" } }

Agradezco mucho su colaboración
  #4 (permalink)  
Antiguo 12/12/2013, 19:32
Avatar de andresdzphp
Colaborador
 
Fecha de Ingreso: julio-2011
Ubicación: $this->Colombia;
Mensajes: 2.749
Antigüedad: 12 años, 9 meses
Puntos: 793
Respuesta: Como ordenar los resultados de un simplexml_load_file con PHP

Prueba así:

Código PHP:
Ver original
  1. foreach($res as $art2)
  2. {
  3.     $posts[] = (string) $art2->nombre;
  4. }

Revisa el array que estén strings y no objetos SimpleXML, para poder ordenar.
__________________
Si sabemos como leer e interpretar el manual será mucho más fácil aprender PHP. En lugar de confiar en ejemplos o copiar y pegar - PHP
  #5 (permalink)  
Antiguo 12/12/2013, 19:49
 
Fecha de Ingreso: septiembre-2010
Mensajes: 66
Antigüedad: 13 años, 7 meses
Puntos: 2
Respuesta: Como ordenar los resultados de un simplexml_load_file con PHP

Perfecto!!, eso era lo que faltaba, muchas gracias.

Etiquetas: sort, xml
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 18:36.