ob_get_contents在 foreach 中不起作用

ob_get_contents doesnt work when within foreach

提问人:Cain Nuke 提问时间:6/26/2019 更新时间:6/26/2019 访问量:62

问:

你好

我有这个代码,效果很好

function show_aval($place) {
   echo $place;
}

ob_start();
show_aval(london);
$show_aval = ob_get_contents();
ob_clean();

ob_start();
show_aval(york);
$show_aval2 = ob_get_contents();
ob_clean();

ob_start();
show_aval(liverpool);
$show_aval3 = ob_get_contents();
ob_clean();

但我想像这样简化这段代码:

$avalrooms = [];
$cities = ["london", "york", "liverpool"];
foreach ($cities as $city) {
    ob_start();
    show_aval($city);
    $avalrooms[$city] = ob_get_contents();
    ob_clean;
}

但是,这似乎无效,因为该函数正在如上所述立即执行。ob_get_contentsshow_aval($city);

为什么会这样?

谢谢。

foreach ob-get-contents

评论

0赞 Lawrence Cherone 6/26/2019
错字?另外,检查ob_get_clean,那时不需要清理。ob_clean;
0赞 Cain Nuke 6/26/2019
我在代码中没有看到任何错别字。
1赞 Lawrence Cherone 6/26/2019
对不起,它应该是 3v4l.org/rTWg8ob_clean();
0赞 Lawrence Cherone 6/26/2019
虽然你为什么要使用ob_函数,但你应该只在构建模板系统时才需要它们,并且想要在变量 html 等中呈现,但随后你在函数中添加了ob_调用。

答: 暂无答案