PHP Zahl von strlen gibt falschen Wert aus

Sarius87

Banned
Registriert
Mai 2016
Beiträge
888
echo "Du hast ".strlen($eingabe]-5)." zeichen eingegeben."

warum erhalte ich hier als Zahl 2 egal was für ein Wert $eingabe hat ? verstehe ich nicht...
 
Warum schreibst du -5 in die Funktion?

Ich glaub du meinst das so?

PHP:
echo "Du hast " . strlen($eingabe) - 5 . " zeichen eingegeben.";

Oder halt ohne die -5

PHP:
echo "Du hast " . strlen($eingabe) . " zeichen eingegeben.";
 
Zuletzt bearbeitet:
Zunächst einmal: Da steht nicht immer eine 2.

Die eckige Klammer im Code sorgt eigentlich für einen Parse Error. Wenn man sich die weg denkt, steht da

PHP:
strlen($eingabe -5)

Weil das Abziehen von 5 innerhalb der Klammer steht, wird zunächst die Variable nach Integer umgewandelt. Ein Text wie "text" wird nach 0 umgewandelt, 0 minus 5 ist -5. Diese -5 wird wieder in eine Zeichenkette umgewandelt und die Länge von "-5" ist 2. Gibts du hingegen "10000 Euro" als Text ein, so bekommst du 4, weil 9995 eine Länge von 4 Zeichen hat.
 
Lässt es sich vielleicht irgendwie vermeiden, für jede minimal winzige Hürde einen neuen Thread aufzumachen?

Bonuspunkte, wenn du vor dem Stellen einer Frage (in einem bereits bestehenden Thread) zumindest einen halbherzigen Versuch unternimmst, selbst auf die Lösung zu kommen.
 
Meines Erachtens die sinnvollste Antwort in diesem Thread und allen anderen Threads des TE. Wie kann man seit Monaten auf diese Art Software entwickeln, ohne nach ein paar Tagen die Motivation zu verlieren?! Bei so einem Projektverlauf hätte ich mein Projekt schon längst in die Ecke gefeuert und in Alkohol ertränkt. Hut ab!
 
Nixdorf schrieb:
Zunächst einmal: Da steht nicht immer eine 2.
Mal abgesehen von dem Parse-Error - wenn $eingabe null ist, steht da immer 2. Daher liegt die Vermutung nahe, dass schon die Eingabe fehlerhaft ist ...
 
Zuletzt bearbeitet: (Typo)
Zurück
Oben