驚いたことに、ユーザー定義関数内で ob_ 関数を使用してこの関数を複数回呼び出すことはできないことを発見しました。これは、2 番目の出力が出力されないためです。
ここに私の単純化されたファイルがあります
index.php
function foo($data){
ob_start();
require_once("tpl.php");
$html = ob_get_clean();
return $html;
}
echo foo('Hello');
echo foo('World!');
tpl.php
<p>and now I say... <?php echo $data; ?><p>
私はこの出力を期待します:
and now I say... Hello
and now I say... World!
代わりに、これだけを取得します。
and now I say... Hello
どこが間違っていますか?足りないものはありますか?私はPHP 5.3を使用しています...よろしくお願いします