Разница в ключах *_clean()
отменяет изменения и *_flush()
выводит в браузер.
Использование ob_end_clean()
в основном используется, когда вы хотите иметь кусок html и не хотите сразу выводить его в браузер, но это может бытьиспользуется в будущем.
Например.
ob_start()
echo "<some html chunk>";
$htmlIntermediateData = ob_get_contents();
ob_end_clean();
{{some more business logic}}
ob_start();
echo "<some html chunk>";
$someMoreCode = ob_get_content();
ob_end_clean();
renderTogether($htmlIntermediateCode, $someMoreCode);
, где ob_end_flush()
будет отображаться дважды, один раз для каждого.