1

次のコードで何が起こるのだろうか:

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

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

どうやら PHP は無名関数用の出力バッファーを作成し、呼び出し時にそのバッファーをフラッシュします。

問題は、それは予想される PHP の動作ですか? テンプレート エンジンでこの機能を使用したいので、ハックであってはならず、予測不能な動作をしてはなりません。

4

1 に答える 1

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

と機能的に同一です

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

?>

どちらも、関数が呼び出されたときにのみxとchar を出力します。y

于 2013-02-27T17:31:06.413 に答える