16. september 2004 - 15:09
Der er
9 kommentarer og 1 løsning
Find nærmeste værdi i array
Jeg har dette array: Array ( [50] => Array ( [navn] => Grøn ) [100] => Array ( [navn] => Rød ) [150] => Array ( [navn] => Blå )... Jeg har så en variable: $tal = 80; Jeg vil så gerne finde det navn som er tættest på det tal sådan ned ad i hierakiet. I dette tilfælde vil jeg så få værdien Grøn ud. Nogen ideer, links eller?
Annonceindlæg fra Computerworld it-jobbank
16. september 2004 - 15:19
#1
noget i den her stil? $tal = 80; foreach($array as $key => $value){ if($key <= $tal){ echo $value; } }
16. september 2004 - 15:22
#2
pladder - det kan da ikke bruges!
16. september 2004 - 15:26
#3
kunne dit array ikke ligeså godt hedde?: $array= array(50 => "grøn", 100 => "rød", 150 => "blå");
16. september 2004 - 15:28
#4
Hmmm, det gør det også :)
16. september 2004 - 15:29
#5
måske noget lignende $prev_key = -1; foreach($array as $key => $value){ if($key > $tal){ if($prev_key == -1){ echo "$tal er mindre end laveste key i array"; } else { echo $array[$prev_key]['navn']; } } $prev_key = $key }
16. september 2004 - 15:31
#6
aarh, glem mit forslag hvis dit array ser ud som avminarm siger
16. september 2004 - 15:33
#7
webben - jeg troede det var et flerdimensionelt array ;o), nå så kan min godt benyttes ;o) <? $array= array(50 => "grøn", 100 => "rød", 150 => "blå"); $tal = 80; foreach($array as $key => $value){ if($key <= $tal){ echo $value; } } ?>
16. september 2004 - 15:35
#8
Yep, det virker da nogenlunde... hvis jeg sætter tal til at være 120 tager den både grøn og rød og udskriver :) Men det kan hurtigt løses... takker for hjælpen :)
16. september 2004 - 15:42
#9
nå ja - det havde jeg glemt at tage højde for :-)
16. september 2004 - 17:01
#10
Du kunne osse bruge: echo $array[(int)($tal/50)*50];
Vi tilbyder markedets bedste kurser inden for webudvikling