Ver Mensaje Individual
  #1 (permalink)  
Antiguo 30/10/2006, 10:05
undariarose
 
Fecha de Ingreso: febrero-2004
Ubicación: Asturias
Mensajes: 171
Antigüedad: 20 años, 2 meses
Puntos: 0
ordenar array problema con sort?

Hola a todos. He creado un glosario de unos términos tecnicos que salen en las descripciones de unas especies.

El código es este:
Código PHP:
                        <?
                        $palabrasdesc
=explode(" "$descripcion);
                        
sort($palabrasdesc);
                        
$comprobarglosarioraiz sprintf("SELECT raiz FROM glosario");
                        
$comprobacion mysql_query($comprobarglosarioraiz$Astur) or die(mysql_error());
                        
$posicion=0;
                        while (
$recorrerglo=mysql_fetch_assoc($comprobacion)) {
                            
$blancaraiz=$recorrerglo['raiz'];
                            
                            for (
$a=0;$a<count ($palabrasdesc);$a++){
                                if (
strlen($palabrasdesc[$a]) > 4) {
                                if (
stristr($palabrasdesc[$a],$blancaraiz)){ 
                                    
$glosario[$posicion]=$blancaraiz;
                                    
$posicion=$posicion+1;
                                    }}
                            }
                        }
                        
                        
$glosariofinal=array_unique($glosario);
                        
sort($glosariofinal);
                        
reset ($glosariofinal);
                        for (
$b=0;$b<count ($glosariofinal);$b++){
                            
$raizglosario=$glosariofinal[$b];
                            
$glosarioficha sprintf("SELECT * FROM glosario WHERE raiz = '".$raizglosario."'");
                            
$glosariofichaconsulta mysql_query($glosarioficha$Astur) or die(mysql_error());
                            while (
$glosariolistadoficha=mysql_fetch_assoc($glosariofichaconsulta)) {                
                                echo 
"<strong>".$glosariolistadoficha['termino'].":</strong> ".$glosariolistadoficha['definicion']."<br/>";
                                }
                         }
                        
?>
creo un array con la descripción, las palabras, y luego miro si contienen la raíz del término que figura en el glosario, por ejemplo caducifol para (caducifolia, caducifolio, caducifolias,...)

estas palabras que tienen la raiz las guardo en otro array que luego limpio los duplicados y ordeno, y luego hago una consulta a la base de datos pàra extraer la definicion de dicho término

El problema, como podeis ver en http://www.asturnatura.com/Consultas...mbucus%20nigra, en la parte de abajo donde pone glosario, es que normalmente descoloca las palabras primeras y ultimas al estar ordenadas alfabeticamente.
¿Alguna idea de porque pasa esto?

Gracias de antemano