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