今天我們來(lái)講一下PHP中的ob_implicit_flush函數(shù)。這個(gè)函數(shù)可以強(qiáng)制把output buffer中的數(shù)據(jù)輸出到瀏覽器上。我們來(lái)看一個(gè)例子,
當(dāng)你運(yùn)行這段代碼時(shí),你會(huì)發(fā)現(xiàn)頁(yè)面等待了3秒才輸出Hello World。這是因?yàn)槲覀冊(cè)谳敵鯤ello后,啟動(dòng)了output buffer緩沖區(qū),讓所有的輸出都被累計(jì)到緩沖區(qū)中,直到ob_flush命令被調(diào)用后,緩沖區(qū)中的內(nèi)容才被一起輸出。
如果你不想等待三秒才看到輸出,那么ob_implicit_flush就派上了用場(chǎng)。如果使用ob_implicit_flush(1)來(lái)啟動(dòng)該函數(shù),那么輸出將會(huì)立即被發(fā)送到瀏覽器,代碼就變成了:
當(dāng)你運(yùn)行這段代碼,你會(huì)發(fā)現(xiàn)Hello和World會(huì)分開立即輸出,不需要等待。
我們來(lái)看看另一個(gè)例子,
當(dāng)你運(yùn)行這段代碼時(shí),你會(huì)發(fā)現(xiàn)代碼的輸出會(huì)被緩存起來(lái),并且在sleep()函數(shù)的等待時(shí)間過(guò)后,一次性輸出。 如果你使用ob_implicit_flush(1)將ob_implicit_flush函數(shù)啟用,則代碼的輸出將立即發(fā)送到用戶瀏覽器中,產(chǎn)生更好的用戶體驗(yàn)。
總之,ob_implicit_flush函數(shù)是一個(gè)非常有用的輸出緩沖控制函數(shù)。你可以按需使用它以提供更好的用戶體驗(yàn)。