La différence essentielle est la suivante *_clean()
rejette les modifications et *_flush()
les sorties vers le navigateur.
Utilisation de ob_end_clean()
il est surtout utilisé lorsque vous voulez avoir un morceau de html et que vous ne voulez pas l'envoyer au navigateur tout de suite, mais il pourrait être utilisé à l'avenir.
Eg.
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);
où comme ob_end_flush()
sera rendu deux fois, une fois pour chacun.