如何将 ob_get_contents 与带参数的函数一起使用
How to use ob_get_contents with a function with arguments
我有这样的功能:
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 无效。
将城市放在一个数组中,遍历数组,并将它们用作函数参数和数组索引。
$avalrooms = [];
$cities = ["london", "york", "liverpool"];
foreach ($cities as $city) {
ob_start();
show_aval($city);
$avalrooms[$city] = ob_get_contents();
ob_clean();
}
我有这样的功能:
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 无效。
将城市放在一个数组中,遍历数组,并将它们用作函数参数和数组索引。
$avalrooms = [];
$cities = ["london", "york", "liverpool"];
foreach ($cities as $city) {
ob_start();
show_aval($city);
$avalrooms[$city] = ob_get_contents();
ob_clean();
}