如何将ob_get_contents与带有参数的函数一起使用

时间:2019-06-25 21:31:46

标签: php ob-get-contents

我有这样的功能:

function show_aval($place) {
//some function
}

我想将其转换为变量,所以我这样做:

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

如果参数始终为“ london”(不是),则可以。可能会更改为York或Manchester等。我的问题是我该怎么做才能通过这样的变量来指示自变量:$avalrooms["london"]$avalrooms["york"]$avalrooms["liverpool"]等,而无需必须一个一个地声明每个变量。

编辑:

下面的代码:

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();

可以工作,但是它的代码太多了。我尝试使用foreach,但是似乎使ob_get_contents无效。

1 个答案:

答案 0 :(得分:1)

将城市放入数组中,在数组上循环,然后将它们用作函数参数和数组索引。

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