19. april 2004 - 11:45
Der er
6 kommentarer og 1 løsning
Sortering efter talværdi
Hejsa Jeg har et array bestående af en streng og en talværdi eks. A 150, A 20, A 1000, B 35 osv. Jeg vil gerne have det soreteret, så det først og fremmest bliver alfabetisk sorteret og derefter sorteret efter talværdi. Hvis jeg bruger PHP's indbyggede sortering bliver det jo til: A 1000 A 150 A 20 B 35 Er der en smart måde, eller skal det gøres på den hårde måde med først en alfabetisk sortering og derefter trække talværdier ud og sammenligne dem? /Allan
Annonceindlæg tema
Cloud & AI
I dette særtema ser vi på, hvordan cloud og AI bliver fundamentet for virksomhedernes digitale forretning, og hvordan de nye muligheder for automatisering og forretningsværdi kan udnyttes uden at miste overblik, sikkerhed og menneskelig kontrol.
19. april 2004 - 11:48
#1
19. april 2004 - 11:57
#2
19. april 2004 - 12:12
#3
<?php $a= array(); $a[] = 'A 1000'; $a[] = 'A 150'; $a[] = 'A 20'; $a[] = 'B 35'; usort($a,'myarraysort'); for($i=0;$i<count($a) && $i < 10;$i++ ) print ($i+1) . ": " . $a[$i] . "<br>"; function myarraysort($a,$b) { list($aalfa,$anum) = explode(" ",$a); list($balfa,$bnum) = explode(" ",$b); if ($aalfa == $balfa) { if( $anum == $bnum ) return 0; return ($anum < $bnum) ? -1 : 1; } return ($aalfa < $balfa) ? -1 : 1; } ?>
19. april 2004 - 12:36
#4
>>taskmgr: strengen og talværdien er samlet som en værdi, så jeg kan ikke bruge den funktion du nævner. <<dennismp: Det er lige nøjagtig hvad jeg ledte efter, tak!
19. april 2004 - 12:40
#5
Ok, jeg havde mine anelser om det, men så kom dennismp heldigvis til undsætning :)
19. april 2004 - 12:45
#6
Den opmærksomme læser vil kunne genkende 80% af scriptet fra et andet spørgsmål der blev stillet før middag :-). forresten; tak for din kommentar taskmgr :)
19. april 2004 - 13:03
#7
Den er velfortjent :)
Vi tilbyder markedets bedste kurser inden for webudvikling