在函数内部使用ob_ stuff并且多次调用它
问题描述:
我刚刚发现,我非常惊讶地发现,我不能在用户定义的函数中使用ob_函数,并且多次调用这个函数,因为第二个输出永远不会出来在函数内部使用ob_ stuff并且多次调用它
这里是我的简单的文件
的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 ... 先谢谢您
答
删除_once
部分。替换:
require_once("tpl.php");
有:
replace("tpl.php");
或:
include("tpl.php");
否则,你只能使用模板文件一次。
非常感谢! “_once”部分真的是“一次又一次”,我会记住! – Ivan