webForumDet fria alternativet
Logga in / Bli medlem

Sur som fasen!

PHP

5 svar · 165 visningar · startad av Papa Deoo

Medlem sedan sep. 200141 inlägg
Trådstart#1

Tjena!

Håller på ett med litet gulligt script som inte vill gå min väg för 5 öre:

Så här ser det ut (lite förkortat iofs):

<?
$value = "95.4";
$check = "100";

if ($value > $check) {
echo "STÖRRE";
}else{
echo "MINDRE";
}
?>

Nu till krukset, jag hämtar $value & $check från min DB där $check är ett fast värde & $value kan vara lite olika t.ex. 95.4, 100.2, 302.4 osv...

Nu när jag kör detta så säger mitt script att $value alltid är större än $check fast det ser ut som exemplet som jag skrev i början på detta inlägg.

Sen när blev 95.4 större än 100??

Någon som har ett smidigt svar te detta?

Medlem sedan mars 20007 896 inlägg
#2

Eftersom att du jämför två strängar blir det så, testa med att använda funktionen doubleval ().

if ( doubleval ( $value ) > doubleval ( $check ) ) {
// $value är större
}
...
Medlem sedan sep. 200141 inlägg
#3

Tackar så jättemycket, fungerade perfa.

Medlem sedan jan. 20007 697 inlägg
#4

Som SPiN redan har sagt så är en 9:a större än en 1:a (som är de båda första tecknen i respektive variabel) när man jämför strängar.

Medlem sedan mars 20007 896 inlägg
#5

Kim> Det sa jag inte, men tack för att du påpekade det! :e

Papa> Toppen! :)

Medlem sedan jan. 20007 697 inlägg
#6

Du sa inte att en 9:a var större än en 1:a, men du sa att det blev fel när man jämför strängar.

266 ms totalt · 4 externa anrop · v20260731065814-full.50d4b5bd
127 ms — deklarationer (db)
0 ms — hämta statistik (cache)
136 ms — hämta tråd, inlägg och bilagor (db)
122 ms — ändringar (db)