if( <= ) help needed

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • if( <= ) help needed

    Hi
    gibt es ne möglichkeiten den unten stehenden code kleiner zuhalten?? is nicht die einzigste if abfrage deswegen wollte ich das bischen übersichtlicher halten!(er soll schauen ob die variable eine zahl zwischen 2-4 ist (2 und 4 eingeschlossen)
    PHP-Code:
    <?
    //Schnippsel

    if($row['CS1'] <= "4" AND $row['CS1'] >= "2")
    {
    echo 'BlaBla';
    }
    Mfg Vincent M.
    Zuletzt geändert von Firefly; 19.03.2005, 00:23.

  • #2
    hmm vielleicht mit switch. VIELLEICHT, kann man das CASE auch in der Art benutzen, aber das weiß ich nicht. Das müsstest Du einfach mal ausprobieren oder nachlesen, oder suchen.

    Vielleicht kannst Du im Case(IF()) oder so benutzen.. probiers aus!

    Grad gelesen:

    PHP-Code:
    switch(true)
    {
       case (
    intval($_POST['age']) <= 21):
           echo 
    "age <= 21";
           break;
       case (
    intval($_POST['age']) <= 29):
           echo 
    "22 <= age <= 29";
           break;
       case (
    intval($_POST['age']) <= 65):
           echo 
    "30 <= age <= 65";
           break;
       default:
           echo 
    "age > 65";

    oder

    PHP-Code:
    <?php
    echo ($i == 0) ?  "i is zero" :
         ((
    $i == 1) ?  "i equals 1" :
         ((
    $i == 2) ?  "i equals 2" ""));
    ?>
    CASE ( $j > 4 || $k <= 2 ) das || ist auch möglich, das hier war nur ein beispiel
    Zuletzt geändert von xManUx; 19.03.2005, 00:31.

    Es kommt nicht darauf an, mit dem Kopf durch den Monitor zu rennen,
    sondern mit den Augen das Manual zu lesen.

    Kommentar


    • #3
      Wenn du schon vergleichsoperatoren für Zahlen einsetzt, solltest du auch nen Numeric Type verwenden.

      Hier 2 kürzere versionen:
      PHP-Code:

      if($row['CS1'] <= AND $row['CS1'] >= 2)
        echo 
      'BlaBla';

      (
      $row['CS1'] <= && $row['CS1'] >= 2?echo 'blabla':NULL); 

      Kommentar


      • #4
        PHP-Code:
        if ($row['CS1'] < && $row['CS1'] > 1) echo 'BlaBla'
        könnte geringfügig schneller sein.
        Am meisten kannst du aber rausholen, wenn es irgendwelche Einschränkungen für die zu testende Variable gibt.
        Wenn z.B. $row['CS1'] immer positiv ist, genügt
        PHP-Code:
        if ($row['CS1']-4) echo 'BlaBla'
        Ob in diesem Fall die Berechnung (-1) wirklich schneller geht als ein zweiter Vergleich, weiß ich nicht. Aber manchmal kann man viele Vergleiche sparen, wenn man nur genug über den zu testenden Wert weiß.

        Hoppla, es ging dir gar nicht um Performance, hab ich verpeilt. Egal, vielleicht hilfts dir trotzdem.
        Zuletzt geändert von onemorenerd; 19.03.2005, 10:36.

        Kommentar


        • #5
          Ein zweiter Vergleich wäre langsamer, die Berechnung ist schneller...
          Für alle die Fehler suchen, gibts gratis tolle Debuggingmöglichkeiten:
          var_dump(), print_r(), debug_backtrace und echo.
          Außerdem gibt es für unsere Neueinsteiger ein hervorragendes PHP Tutorial zu PHP 4 und PHP 5 (OOP)
          Es heißt $array['index'] und nicht $array[index]! Und nein, das ist nicht egal!
          Dieses Thema lesen, um Ärger im Forum und verzögerte Hilfen zu vermeiden.

          Kommentar

          Lädt...
          X