我想知道以下代码中会发生什么:
<?php
function CountUp($count2, $count1)
{
$count1(); // Say one
$count2(); // Say two
}
CountUp(function() {
?>
Two
<?php
}, function() {
?>
One
<?
});
显然,PHP会为匿名函数创建一个输出缓冲区,并在我们调用它们时刷新缓冲区。
问题是:预期的PHP行为是什么?我想在我的模板引擎中使用此功能,因此它不能是hackish并且具有不可预测的行为。
答案 0 :(得分:1)
<?php
function x() {
echo 'x';
}
x();
?>
在功能上与
相同<?php function y() { ?>
y
<? }
y();
?>
只有在调用函数时,两者都会输出x
和y
个字符。