Norbert: Potenzieren mit PHP

Also ich möchte folgende Formel mit PHP berechnen:

Zins=(1+Zip)^Laufzeit    (^=Hoch)

Habe das in PHP wie folgt eingegeben:

$Zins=pow(1+$Zip,$Laufzeit);

$Zip wird vorher berechnet
$Laufzeit kommt aus einem Eingabefeld

Ich bekomme aber immer die Fehlermeldung:
Warning: Invalid argument(s) passed to pow()

Wenn ich für $Laufzeit einen numerischen Wert eingebe, dann funktioniert es einwandfrei.
Was mache ich falsch bzw. wie ist die Lösung ??

Danke für Eure Hilfe !!!

  1. Schon mal mit intval($Laufzeit) versucht?

    => ACHTUNG geht nicht für negative Werte (bzw. sie werden positiv).

    Gruss Michael

  2. Hallo Norbert,

    Wenn ich für $Laufzeit einen numerischen Wert eingebe, dann funktioniert es einwandfrei.
    Was mache ich falsch bzw. wie ist die Lösung ??

    Was passiert, wenn Du $Laufzeit mit var_dump ausgibst? Hast Du mal eine explizite Typkonvertierung nach Integer versucht?

    Viele Grüße,
    Christian

  3. $Zins=pow(1+$Zip,$Laufzeit);

    $Laufzeit kommt aus einem Eingabefeld

    Ich bekomme aber immer die Fehlermeldung:
    Warning: Invalid argument(s) passed to pow()

    Wenn ich für $Laufzeit einen numerischen Wert eingebe, dann funktioniert es einwandfrei.

    Wilde Spekulation: Prüfe mittels var_dump(), welchen Typ $Laufzeit hat. Da $Laufzeit aus einem Eingabefeld kommt und somit ein Text ist, mußt Du eventuell den Text per intval() in eine Zahl umwandeln. Probier's aus, versprechen kann ich nichts, denn eigentlich sollte PHP den Typ selbst umwandeln.

    Gruß,
      soenk.e