Der Martin: Ganz- oder Kommazahl?

Beitrag lesen

Hi,

if(!is_int($felder)){
  $felder + .5;
  $rpl + 1;
}

also auf Deutsch:
Wenn $felder kein Integertyp ist,
   dann berechne $felder+0.5 und vergiss das Ergebnis wieder
   und  berechne $rpl+1 und vergiss das Ergebnis auch wieder

das klappt aber so nicht.

Was bedeutet das?

Abgesehen davon prüft is_int() nur, "whether the type of a variable is integer". Dabei wird nicht der momentane Wert der Variablen betrachtet. So ist beispielsweise sin(0) exakt 0, aber das Ergebnis von sin() ist per definitionem ein float-Wert (also eigentlich 0.0) und is_int() würde false liefern.

Wenn du eine Unterscheidung nach dem aktuellen Variablenwert willst, musst du selbst testen. So könnte man etwa testen, ob $x==floor($x) ist.

So long,
 Martin

--
Was du heute kannst besorgen,
das geht sicher auch noch morgen.