PHP是否为匿名函数创建输出缓冲区?

时间:2013-02-27 17:21:38

标签: php

我想知道以下代码中会发生什么:

<?php
function CountUp($count2, $count1)
{
    $count1(); // Say one
    $count2(); // Say two
}

CountUp(function() {
?>
    Two
<?php
}, function() {
?>
    One
<?
});

显然,PHP会为匿名函数创建一个输出缓冲区,并在我们调用它们时刷新缓冲区。

问题是:预期的PHP行为是什么?我想在我的模板引擎中使用此功能,因此它不能是hackish并且具有不可预测的行为。

1 个答案:

答案 0 :(得分:1)

<?php
function x() {
   echo 'x';
}
x();
?>

在功能上与

相同
<?php function y() { ?>
y
<? } 
y();

?>

只有在调用函数时,两者都会输出xy个字符。