Mailinglisten-Archive |
Hallo,
irgendwie habe ich einen Aussetzer beim Verständis einer Whileschleife.
Eiegentlich habe ich ja nur nach einer Möglichkeit gesucht, mehrere
Zeilen eingeben zu können. Was mit dem Code auch bestens klappt. Nur bei
der Abbruckbedingung verwurstle ich mich irgendwie. Bei folgendem Code
$fp = fopen("php://stdin", "r");
// Enlesen, solange kein Enter kommt
while(($c = fread($fp, 1)) && $exit_it != 1)
{
$ret .= $c;
// Falls Enter, ist eine Zeile abgeschlossen,
// also analysiere den Spass
if ($c = "\n")
{
// printe es aus
print "$ret";
// Brich while ab
if($ret == ".")
{
$exit_it = 1;
}
// sonst unsete fuer neue Zeile
else
{
unset($ret);
}
}
}
fclose($fp);
erwarte ich irgendwie, das $ret genau ein einzelner Punkt sein muss, um
die Variable exit_it auf true zu setzen. Dummerweise passiert das aber
auch, wenn ein Punktzeichen etwa mitten in einer Eingabekette ist.
gruss
ritze
php::bar PHP Wiki - Listenarchive