<?php function testOb() { ob_start(); echo 'a<hr>'; ob_start(); echo 'b<hr>'; ob_start(); echo 'c<hr>'; // ob_end_clean(); // ob_end_clean(); // ob_end_clean(); // ob_clean(); ob_end_clean(); ob_end_flush(); ob_end_clean(); // var_dump(ob_get_clean()); }
- ob_start()类似于把缓存分级,使用ob_end_flush()可以把缓存分级输出
- 如果没有ob_end_flush()和ob_end_clean(),缓存会直接输出
- ob_end_clean()
- (a->b->c)按“距离”c->b->a->f(f是指php自己的缓存)清空缓存
- ob_clean() 仅仅清除离自己最近的缓存(多次使用无效),并且和ob_end_clean()互不补充(和第一个并存)