A B C D E F G H I J K L M N O P Q R S T U V W X Y Z 9 Ω


PHP readline


Programmieren


Basiswissen


Mit dem Befehl readline kann Eingaben von Benutzern in ein PHP-Programm in der Command-line (shell, terminal, console) nutzen. Der Befehl entspricht dem in anderen Programmiersprachen üblichen INPUT. Das ist hier mit kurzen Beispielen vorgestellt.

PHP fragt nach einer Eingabe


Das folgende Programm fragt den Benutzer nach eine Eingabe. Dabei spielt es keine Rolle, ob die Eingabe ein Text oder eine Zahl ist. Die Eingabe kann eine beliebige Zeichenkette (String) sein.

$x=readline();
echo "Deine Eingabe war: ",$x;
?>

Das Programm übernimmt die Eingabe in der Variablen $x[2] und gibt sie dann nach einer kurzen Ankündigung wieder aus.

PHP gibt Tipps zur Eingabe


Der Befehler readline in PHP kann auch einen Tipp für den Benutzer anzeigen, was er eingeben soll. Man kann den Text in Hochkommas oder Gänsefüßchen eingeben:

$x=readline("Welche Farbe hat der Mond? " );
echo "Du sagtst, der Mond habe die Farbe: ",$x;
?>

Das Programm gibt aber nur einen Tipp. Was der Benutzer tatsächlich eingibt, wird von dem Programm nicht überprüft.

PHP fragt nach einer ganzen Zahl


Das folgende Programm fragt den Benutzer nach einer ganzen Zahl[3]. Der Befehl (int)readline interpretiert jede Eingabe als ganze Zahl:

$x=(int)readline("Gib eine ganze Zahl ein: " );
echo "Deine Zahl war: ",$x;
?>

Tatsächlich kann der Benutzer auch Worte wie 'Erdmantel' oder auch echte Kommazahlen wie 4,8 oder 4.8 eingeben. PHP wandelt dann Texte in die Zahl 0 um. Bei Zahlen mit Kommas schneidet PHP alles ab dem Komma einfach ab. Die Eingabe 'Erdmantel' gibt also die Zahl 0. Und die Eingabe 4,8 oder 4.8 gibt die Zahl 4 als gespeicherte Variable.

PHP fragt nach einer Kommazahl


Nun fragt PHP nach einer Eingabe und deutet diese als Dezimalzahl, also als Zahl mit möglichen Nachkommastellen (float). Dabei muss der Punkt als Kommazeichen[4] verwendet werden:

$x=(float)readline("Gib eine ganze Zahl ein: " );
echo "Deine Zahl war: ",$x;
?>

Gibt man 4.8 ein, so wird auch die Zahl 4.8 als echte Kommazahl vom Programm übernommen. Die Eingabe 4,8 jedoch führt dazu, dass das Programm nur die 4 übernimmt. Die Eingabe von Texten, die PHP nicht als Zahl deuten kann, führt weiterhin dazu, dass PHP dies als Zahl 0 deutet.

Eine Feldvariable in PHP eingeben


Mit der Funktion explode ist es auch möglich, die einzelnen Elemente einer Feldvariablen[5] einzugeben. In der Klammer nach dem Wort explode gibt man in Hochkommas zunächst das getrennte Trennzeichen ein, dann schreibt man nach einem Komma immer die Funktion readline:

$feldvariable=explode(' ',readline());
print_r($feldvariable);
?>

Wenn man das Programm startet, kann man zum Beispiel die Zahlen 2, 3 und 9 eingeben. Dabei muss man die Zahlen durch ein Leerzeichen trennen. Der Befehlt print_r gibt dann den Inhalt der so gefüllten Feldvariablen aus. Siehe auch PHP explode ↗

Fußnoten