henrky: Switch >= funktioniert nicht ?

Halli Hallbo ... ich habe folgendes Problem :
Ich habe eine etwas größere Switchschaltung gebastelt - nun triggert jedoch sobald $abc 0 ist das ganze direkt bei der ersten >= Schaltung. Wie kann das sein ?

---------------------------------------------------------------------
switch ($abc) {
  case ($abc >= 31234571974) : $xyz=55;$next=0;break;
  case ($abc >= 21321654781) : $xyz=30;$next=31234571974-$abc;break;
  case ($abc >= 14988914984) : $xyz=10;$next=21321654781-$abc;break;
  ...
  ...
  ...
  case ($abc <       123456) : $xyz=1; $next=654321-$abc;break;
}
$nextlvl = number_format($next , 0 , ',' , '.');
---------------------------------------------------------------------
Wenn dort doch nun steht case (0 >= 31234571974) - so dürfte das ganze doch normalerweise nicht triggern oder o_O
Ansich müsste es doch beim letzten Eintrag triggern oder wie seht ihr das ?

euer

Henryk

  1. echo $begrüßung;

    Ich habe eine etwas größere Switchschaltung gebastelt - nun triggert jedoch sobald $abc 0 ist das ganze direkt bei der ersten >= Schaltung. Wie kann das sein ?

    switch ($abc) {

    $abc enthält 0, was einem false entspricht.

    case ($abc >= 31234571974) : $xyz=55;$next=0;break;

    0 >= 31234571974 ergibt false

    Das false aus switch und das false aus dem case stimmen überein, damit ist die Bedingung erfüllt.

    echo "$verabschiedung $name";

    1. Hell-O!

      Das false aus switch und das false aus dem case stimmen überein, damit ist die Bedingung erfüllt.

      Ich ergänze, dass ein switch(true) das Problem umgeht.

      Siechfred

      --
      Hier könnte Ihre Werbung stehen.
      Musikgeschmack || Das Steuerblog  || RT 221 Erfurt-Altstadt i.V.