frank: Zahlen Überprüfung

Hallo Zusammen,

ich komme mit einer Zahlen Überprüfung nicht weiter. In einer FOR Schleife möchte ich einer Variablen bei ungeraden Zahle einen anderen Wert zuweisen als bei geraden Zahlen. Kann mir jemand bei dem entsprechenden IF Statement weiterhelfen.

Hier noch die FOR Schleife, die mir tewas Kopfzerbrechen bereitet.

for ($i=0; $i<=$zeilen; $i++)
{
    if ($i = ?????????????? )
 $class = hell;
    else
 $class = dunkel;
} // Ende der FOR Schlife

Vielen Dank für Eure Aufmerksamkeit und Eure evtl. Hilfe.

Frank :-)

  1. Hallo frank,

    ich komme mit einer Zahlen Überprüfung nicht weiter. In einer FOR Schleife möchte ich einer Variablen bei ungeraden Zahle einen anderen Wert zuweisen als bei geraden Zahlen.

    du brauchst den Modulus-Operator ('%') - $i%2 gibt bei ungeraden Zahlen 1 zurück und bei geraden nichts ->http://www.php.net/language.operators.arithmetic

    if ($i = ?????????????? )
     $class = hell;

    um "hell" (und "dunkel") müssen Anführungszeichen.

    else
     $class = dunkel;

    hier dürfte der Trinitäts-Operator (->http://www.php.net/language.operators.comparison) einfacher sein:
    $class = $i%2==1? "hell":"dunkel";  //(afaik kann man das "==1" auch weglassen)

    Grüße aus Nürnberg
    Tobias

    --
    Selfcode: sh:( fo:) ch:? rl:( br:< n4:& ie:% mo:| va:) de:] zu:) fl:( ss:| ls:[ js:|
  2. Hallo Frank,

    In einer FOR Schleife möchte ich einer Variablen bei ungeraden Zahle einen anderen Wert zuweisen als bei geraden Zahlen. Kann mir jemand bei dem entsprechenden IF Statement weiterhelfen.

    Was macht denn eine gerade Zahl so aus? Richtig, sie lässt sich ohne Rest durch 2 teilen.

    if ($i = ?????????????? )

    http://www.selfphp.info/funktionsreferenz/mathematische_funktionen/bcmod.php#beispiel

    HTH

    Maxx

  3. Hallo Maxx, Tobias,

    Klasse, die schnelle Antwort! Tobias, ich werde Deinen Tipp gleich mal ausprobieren.

    Ich hatte eigentlich nach "Platzhaltern" gesucht. Also wenn irgend eine beliebige Zahl mit 0,2,4,6 oder 8 endet ist sie gerade, ist ja klar ;-) Nur diese Abfrage will mir einfach nicht gelingen.

    Also nochmals Danke für Eure Hilfe

    Gruß Frank :-)

  4. Hallo Zusammen,

    ich komme mit einer Zahlen Überprüfung nicht weiter. In einer FOR Schleife möchte ich einer Variablen bei ungeraden Zahle einen anderen Wert zuweisen als bei geraden Zahlen. Kann mir jemand bei dem entsprechenden IF Statement weiterhelfen.

    Hier noch die FOR Schleife, die mir tewas Kopfzerbrechen bereitet.

    for ($i=0; $i<=$zeilen; $i++)
    {
        if ($i = ?????????????? )
     $class = hell;
        else
     $class = dunkel;
    } // Ende der FOR Schlife

    Frank :-)

    Für alle die es interessiert: Hier die Lösung:

    $i = 1;
    do
    {
      Anweisung zum Auslesen eines Arrays>;
      if (is_float($i/2))
      {
        $class = "hell";
        echo "<td class="$class">" . $Wert_des Arrays[$i] . "</td>\n";
      }
      else
      {
        $class = "dunkel";
        echo "<td class="$class">" . $Wert_des_Arrays[$i] . "</td>\n";
      } // Ende der IF Schleife
      $i++;
    } // Ende der DO Anweisung
    while ($i <= $Anzahl_der_Werte_des_Arrays);

    Der erste Wert des Arrays, also der Wert[0] wird hierbei nicht ausgelesen!!

    Gruß Frank :-)