Avatar billede kube Nybegynder
04. februar 2002 - 23:45 Der er 9 kommentarer og
2 løsninger

tal lige/ulige

HEJ Eksperter,
kan php kende forskel på lige og ulige tal?
fx
if($var==1)
ulige;
else if($var==2)
lige;

jeg vil bruge det til at lave 2 forskellige baggrundsfarver på SQL udtræk så det bliver mere overskueligt.

kan man gøre det eller er der en smartere måde??

håber på svar
KUBE


Avatar billede speedbrusher Nybegynder
04. februar 2002 - 23:49 #1
brug

$lige = (($var&1)==0) ;

så er $lige enten true eller false, alt efter om tallet er lige eller ej :)
Avatar billede morw Nybegynder
04. februar 2002 - 23:56 #2
($var % 2)
Avatar billede erikjacobsen Ekspert
04. februar 2002 - 23:58 #3
Og der er en finte med %2 metoden. Man skal teste som

  if ($var % 2 == 0) {
    // lige
  } else {
    // ulige
  }

og IKKE teste på om resultatet er 1 for ulige. Thi: en negativ
$var giver -1.
Avatar billede onkel_satan Nybegynder
05. februar 2002 - 00:20 #4
Hvis du ikke har fundet ud af det inde på www.php.net endnu, så kan jeg da lige forklare.
"%2" betyder bare at du divider tallet med 2. Det snedige ved % frem for / er at % returner kun decimal tal (altså ,03 ,5 ,005).
Ved at skrive "if ($var%2)" spørger du egentlig bare om der er et dicimaltal. Hvis ja må det jo være et ulige tal ellers et lige.
Avatar billede erikjacobsen Ekspert
05. februar 2002 - 00:25 #5
Det er da vist en uautoriseret forklaring, onkel.
Avatar billede morw Nybegynder
05. februar 2002 - 00:36 #6
Meget uautoriseret - % giver restværdien efter division
Avatar billede jakoba Nybegynder
05. februar 2002 - 02:27 #7
snarere end en tæller der så testes for lige/ulige vil jeg anbefale en flipper:

$flipper = 0;  // vil skifte mellem 0 og 1

while ( flere rækker ) {
    $flipper = 1-$flipper;
    $bgFarve = $flipper ? 'rød' : 'hvid';
    // tegn din linie
} //endwhile

mvh JakobA
Avatar billede morw Nybegynder
05. februar 2002 - 10:06 #8
Jeg plejer at bruge %, men det betyder nok ikke så meget hvad man buger.

while ( flere rækker ) {
($i % 2) ? $bgfarve = "#DEE9F3" : $bgfarve = "#B3CCE3";
// output html

$i++;
} //endwhile
Avatar billede onkel_satan Nybegynder
05. februar 2002 - 12:52 #9
Ups...beklager.
Det var sådan jeg fik den forklaret i sin tid og da det virkede satte jeg ikke videre spørgsmål om det.
Men nu kan jeg jo godt se at det ikke er sandt.
Det ville være træls hvis man kun kunne få restværdier der kun kunne være 0 eller 1 :)
Beklager endnu en gang.
Avatar billede kube Nybegynder
05. februar 2002 - 18:48 #10
jeg tror det er en pæn måde at gøre det på, altså med %.
hvis der er noget er jer der har lyst til at få lidt point, må i lige oprette et svar, så jeg kan uddele!
TAKKER FOR HJÆLPEN dejligt at se så mange indlæg...
Avatar billede onkel_satan Nybegynder
05. februar 2002 - 21:45 #11
OK
Så fik vi hvis det på plads.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester