WN

WN (https://www.wn.se/forum/index.php)
-   Serversidans teknologier (https://www.wn.se/forum/forumdisplay.php?f=4)
-   -   PHP - heltal? (https://www.wn.se/forum/showthread.php?t=9602)

bo82 2005-08-30 22:39

Okej säkert någon som kan svara snabbt på denna.

Hur kollar man ifall ett tal är heltal?

Vill göra en for-sats som i varannan loop får man ett värde och i den andra får man ett annat värde.. hm. Förstår?

(ska göra en tabell med varannan rad i en färg och nästa rad i en annan färg)

Oskar Lindgren 2005-08-30 22:56

Använd modulo 2.

typ 0%2 ger 0
typ 1%2 ger 1
typ 2%2 ger 0
typ 3%2 ger 1
osv...

zpD 2005-08-30 22:57

Citat:

Originally posted by bo82@Aug 30 2005, 22:39
Okej säkert någon som kan svara snabbt på denna.

Hur kollar man ifall ett tal är heltal?

Vill göra en for-sats som i varannan loop får man ett värde och i den andra får man ett annat värde.. hm. Förstår?

(ska göra en tabell med varannan rad i en färg och nästa rad i en annan färg)

if($tal%2==1) $farg="#eeeeee";
else $farg="#ffffff";


[edit] jag är alltid för seg ;P [/edit]

nomicon 2005-08-30 22:57

Citat:

Originally posted by bo82@Aug 30 2005, 22:39
Okej säkert någon som kan svara snabbt på denna.
Hur kollar man ifall ett tal är heltal?
Vill göra en for-sats som i varannan loop får man ett värde och i den andra får man ett annat värde.. hm. Förstår?
(ska göra en tabell med varannan rad i en färg och nästa rad i en annan färg)

Typ såhär ungefär:

<?
$y='10';
echo '<table><tr>';
for($x=0;$x<$y;$x++) {
$c++;
$c = $c %2;
if ($c=='1') {
$color='#C1DBB6';
} else {
$color='#A9CE9A';
}
echo '<td bgcolor="'.$color.'">test test test</td>';
}
echo '</tr></table>';
?>

kullervo 2005-08-30 22:59

Det här borde väl fungera?
if($tal == intval($tal))
echo "Heltal";


Edit: Läste inte så noga. Trodde bo82 hade gått ut lågstadiet så han visste vad heltal är förnågot =). Aja, modulo 2 är vägen att gå.

grazzy 2005-08-30 23:02

$color = ($color=='#fff') ? '#aaa' : '#fff';

Svårare än så behöver det inte vara.

Jonas 2005-08-30 23:51

Kod:

<?
if(fmod($x,2)) $c = "black";
else $c = "white";
?>

Skall det vara var 3:dje så ändra 2 till 3 osv

Starweb 2005-08-31 01:41

Citat:

Originally posted by grazzy@Aug 30 2005, 22:02
$color = ($color=='#fff') ? '#aaa' : '#fff';

Svårare än så behöver det inte vara.

Precis så ska det göras!
Enkelt, och gör exakt det den ska göra utan svårigheter.

Jonas 2005-08-31 01:57

Citat:

Ursprungligen postat av Starweb
Citat:

Ursprungligen postat av grazzy
$color = ($color=='#fff') ? '#aaa' : '#fff';

Svårare än så behöver det inte vara.

Precis så ska det göras!
Enkelt, och gör exakt det den ska göra utan svårigheter.

Det gör min kod med ;)

Kan förkortas:
Kod:

<? $c = (fmod($x,2)) ? "black" : "white"; ?>

eg0master 2005-08-31 07:07

Nej jonas, din kod gör inte samma sak som grazzy eftersom du måste räkna upp X någonstans... :P


Alla tider är GMT +2. Klockan är nu 00:41.

Programvara från: vBulletin® Version 3.8.2
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Svensk översättning av: Anders Pettersson