Kirjautuminen

Haku

Tehtävät

Keskustelu: Nettisivujen teko: Karkausvuosiongelma

artsa [07.04.2006 22:59:51]

#

Yritän epätoivoisesti saada tulostettua karkausvuosia tästävuodesta 100v eteenpäin, aina vaan on parse ongelma, mikä on koodissa vikana

<head>
<title>karkaus.php</title>
</head>
<body>
			  <!--karkaus.php-->
   <?php


	   echo "<h2>Karkausvuodet</h2> ";

	   echo "<h2>Tänään on (p.k.vvvv)</h2> ";
	 	 echo $today = date("j.n.Y");
		 echo "<br>";
				$alku=date("Y");
				$loppu=$alku+100;
				{
				for ($vuosi==$alku; $vuosi<=$loppu; $vuosi++)
				if($vuosi % 4==0) && (($vuosi % 100==0) || !($vuosi % 400==0)))



	 {
       echo "<br>$vuosi";
   }
	}
?>

</body>
</html>

Antti Laaksonen [07.04.2006 23:12:06]

#

Koodissasi on pari virhettä:
1. Väärässä paikassa oleva aaltosulku ennen for-silmukkaa.
2. for-silmukan alkuun tulee sijoitus (=), ei vertailu (==).
3. Puuttuva sulkumerkki if-lauseen alussa.
4. Jos vuosi on jaollinen 100:lla, se on karkausvuosi vain, jos se on myös jaollinen 400:lla.

Tässä sama koodi vähän selkeämmin:

<?php

$alku = date("Y");
$loppu = $alku + 100;

for ($vuosi = $alku; $vuosi <= $loppu; $vuosi++) {
    if ($vuosi % 4 == 0 && ($vuosi % 100 != 0 || $vuosi % 400 == 0)) {
        echo "$vuosi<br>";
    }
}

?>

Olga [07.04.2006 23:29:03]

#

Date-funktio on myös kätevä:

if (date("L", $aikaleima) == 1) {
    // on karkausvuosi
} else {
    // no eipä oo
}

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta