/ Forside / Teknologi / Udvikling / PHP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
PHP
#NavnPoint
rfh 3959
natmaden 3372
poul_from 3310
funbreak 2700
stone47 2230
Jin2k 1960
Angband 1743
Bjerner 1249
refi 1185
10  Interkril.. 1146
Hvis tal er ulige
Fra : Michael Korsgaard


Dato : 05-10-03 13:58

Kan man tjekke om et tal er ulige
if($tal er ulige){echo "Ulige";}else{echo "Lige";}

--
MVH
Michael
www.storkie.dk



 
 
Johan Holst Nielsen (05-10-2003)
Kommentar
Fra : Johan Holst Nielsen


Dato : 05-10-03 14:03

Michael Korsgaard wrote:

> Kan man tjekke om et tal er ulige
> if($tal er ulige){echo "Ulige";}else{echo "Lige";}

if($tal%2 == 0) { echo "Lige"; } else { echo "Ulige"; }

% finder resten af en division... f.eks.

2 / 2 = 1, rest 0

3 / 2 = 1, rest 1

17 / 2 = 8, rest 1 osv..

mvh
Johan


Mark Marhauer Peders~ (07-10-2003)
Kommentar
Fra : Mark Marhauer Peders~


Dato : 07-10-03 15:12

Det kan også gøres vha. and (&), ved at teste om det mindst betydende bit er
sat (1). Da dette fortæller om tallet er lige eller ulige.
Fordelen ved det er at det kræver noget mindre regnekraft af php serveren.

eks

if ($tal&1) { // kan også skrives som if (($tal&1)==1))
echo "Tallet er ulige";
} else {
echo "Tallet er lige";
}

Mvh Mark
"Johan Holst Nielsen" <johan@weknowthewayout.com> wrote in message
news:blp4q7$49e$1@sunsite.dk...
> Michael Korsgaard wrote:
>
> > Kan man tjekke om et tal er ulige
> > if($tal er ulige){echo "Ulige";}else{echo "Lige";}
>
> if($tal%2 == 0) { echo "Lige"; } else { echo "Ulige"; }
>
> % finder resten af en division... f.eks.
>
> 2 / 2 = 1, rest 0
>
> 3 / 2 = 1, rest 1
>
> 17 / 2 = 8, rest 1 osv..
>
> mvh
> Johan
>




Mikael S. H. (09-08-2005)
Kommentar
Fra : Mikael S. H.


Dato : 09-08-05 13:08

Mark Marhauer Pedersen wrote:
> Det kan også gøres vha. and (&), ved at teste om det mindst betydende bit er
> sat (1). Da dette fortæller om tallet er lige eller ulige.
> Fordelen ved det er at det kræver noget mindre regnekraft af php serveren.
Er det muligt at bruge denne fremgangsmåde til at tjekke for f.eks. 4,
ligesom

$i = 7;
if ($i%4==0)
   echo "Hver fjerde\n";
elseif ($i%4==1)
   echo "Hver fjerde plus en\n";
elseif ($i%4==2)
   echo "Hver fjerde plus to\n";
elseif ($i%4==3)
   echo "Hver fjerde plus tre\n";

Hvor man stadig bruger mindre regnekraft end vha. modulo?

Lars Balker Rasmusse~ (09-08-2005)
Kommentar
Fra : Lars Balker Rasmusse~


Dato : 09-08-05 14:05

"Mikael S. H." <mikael@alminde.org> writes:
> Er det muligt at bruge denne fremgangsmåde til at tjekke for f.eks. 4,
> ligesom
>
> $i = 7;
> if ($i%4==0)
>    echo "Hver fjerde\n";
> elseif ($i%4==1)
>    echo "Hver fjerde plus en\n";
> elseif ($i%4==2)
>    echo "Hver fjerde plus to\n";
> elseif ($i%4==3)
>    echo "Hver fjerde plus tre\n";
>

Mere data, mindre kode:

$i = 7;

$tekster = array("Hver fjerde\n",
"Hver fjerde plus en\n",
"Hver fjerde plus to\n",
"Hver fjerde plus tre\n");

echo $tekster[ $i & 3 ];

> Hvor man stadig bruger mindre regnekraft end vha. modulo?

Når man først er i gang med php (eller perl eller java eller ...),
skal man altså ikke bekymre sig om % er langsommere end & - det er
altså kun på de alleryderste marginaler. Det væsentligste er at du
bruger noget du selv kan læse og forstå.
--
Lars Balker Rasmussen Consult::Perl
http://consult-perl.dk

Søg
Reklame
Statistik
Spørgsmål : 177560
Tips : 31968
Nyheder : 719565
Indlæg : 6408946
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste