2011-04-24 86 views
0
ob_start(); 

for($i=1; $i<=10; $i++){ 
    echo 'FUU'; 
    $output = ob_get_contents(); 
} 

echo $output; 
ob_end_flush(); 

所以不是一個FUU我得到10個!爲什麼我的ob_start()無效?PHP輸出緩衝不起作用!

+0

One?十?你不應該得到二十嗎?您在輸出緩衝區中回顯了十次,然後將$輸出(也包含十次)輸出到您的輸出緩衝區中,然後刷新緩衝區,該緩衝區應該輸出兩組數據。 – 2011-04-24 14:00:31

+0

可能是,我看到了很多:) – Alex 2011-04-24 14:01:41

回答

2

我不認爲你得到它在做什麼。下面是通過散步:

$i = 1 
Output buffer = FUU 
ob_get_contents()/$output = FUU 

$i = 2 
Output buffer = FUUFUU 
ob_get_contents()/$output = FUUFUU 

$i = 3 
Output buffer = FUUFUUFUU 
ob_get_contents()/$output = FUUFUUFUU 

當你調用​​每次迭代中,它讓一切已經echo版。

+0

doh!我很愚蠢:x – Alex 2011-04-24 14:00:28