2013-05-01 30 views
3

我喜歡它,如果ob_start()沒有讓回聲的輸出到他們的正常目的地,而只是記錄他們的內容。但似乎沒有這樣做。有任何想法嗎?這裏是我的代碼:ob_start回聲的字符串仍然

<?php 

ob_start(); 

echo 'test'; 

$out = ob_get_contents(); 

var_dump($out); 

測試仍然是echo'd。它也是var_dump,但我不希望它被echo'd。

任何想法?

謝謝!

回答

7

輸出緩衝區在腳本結束時自動刷新,因此它是預期的行爲。

您正在尋找ob_get_clean(),它清除之前返回當前緩衝區:

$out = ob_get_clean();