Ob Buffering将数字1添加到输出的末尾

时间:2014-08-29 08:27:37

标签: php

我在这段代码中发生了一些令人困惑的行为:

<?php
    ob_start(); ?>
        <script>
            jQuery(document).ready(function () {
                var the_instance = jQuery('.ib_clock_instance_<?php echo ib_clocks::$shortcodes; ?>');
            });
        </script>
        <?php
        $html = ob_end_flush();
?>

这是静态写作课程的一部分。出于某种原因,在调用ob_end_flush时,在输出结尾处添加了数字1。考虑到php docs(http://php.net/manual/en/function.ob-end-flush.php),感觉它似乎是一个布尔值true,但是我无论如何都不能抑制它。

任何人都知道为什么会这样吗?

1 个答案:

答案 0 :(得分:1)

ob_end_flush()直接回显输出,只返回truefalse,所以当您回复$html之后,您将获得1

要么不回应$html

ob_end_flush();

或使用

$html = ob_get_flush();
echo $html;