PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Array durchlaufen und Einträge sofort ausgeben



munkmill
04-02-2006, 10:19
Hallo an alle,

hoffentlich ein einfach zu lösendes Problem. Ich habe ein Array, dass mit folgendem Code abgearbeitet wird (das sleep(2); stellt dabei ein Stück Code dar, der in etwa diese Zeit braucht, um ausgeführt zu werden).



$array = array ("test1", "test2", "test3");

foreach ($array as $key) {
echo $key;
sleep (2);
}


Nun habe ich aber das Problem, dass nicht eine Ausgabe gefolgt von 2s Pause erfolgt, sondern 6s Pause und dann alle 3 Ausgaben zum Schluss.

Ist das ein generelles Problem, dass Ausgaben erst dann gemacht werden, wenn alles abgearbeitet wurde? Was ich erreichen will ist, dass pro Schleifendurchlauf sofort eine Ausgabe erfolgt.

Ich hoffe, ihr konntet mir folgen.

Vielen Dank im Voraus,

Jan

der_rokko
04-02-2006, 10:39
Schau dir mal die Funktion http://ch.php.net/flush an. Ich denke, du meinst das...

Aus Performance-Gründen wird die Ausgabe gepuffert und erst am Schluss der Scripte an den Browser gesendet.

munkmill
04-02-2006, 10:52
@der_rokko:

Vielen Dank, mit flush() hatte ich schon experimentiert. Klappte aber nicht - es liegt wohl am Browser. Im Konqueror gehts nicht (KDE3.5.1), im Firefox wirkt flush().

Auf jeden Fall vielen Dank!

Romanday
04-02-2006, 16:41
@der_rokko:

Vielen Dank, mit flush() hatte ich schon experimentiert. Klappte aber nicht - es liegt wohl am Browser. Im Konqueror gehts nicht (KDE3.5.1)

Auf jeden Fall vielen Dank!

Bei mir klappt das wunderbar mit dem Konqueror (>3.3).