0

我有这样的功能:

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

我想把它翻译成一个变量,所以我这样做:

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

如果参数始终是“伦敦”,这将很好,但事实并非如此。它可能会更改为约克或曼彻斯特等。我的问题是我可以做些什么来通过这样的变量指示参数:$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 无效。

4

1 回答 1

1

将城市放在一个数组中,遍历数组,并将它们用作函数参数和数组索引。

$avalrooms = [];
$cities = ["london", "york", "liverpool"];
foreach ($cities as $city) {
    ob_start();
    show_aval($city);
    $avalrooms[$city] = ob_get_contents();
    ob_clean();
}
于 2019-06-25T21:36:45.750 回答