1

我正在发送酒店列表请求。我的网址是:

&numberOfRooms=2&room-0-adult-total=1&room-0-child-total=1&room-1-adult-total=1&room-1-child-total=0&room-0-child-0-age=2&button=搜索

我需要这个方法的结果:

&room1=2,3,5(2 名成人,2 名 3 和 5 岁儿童)
&room2=2,10(2 名成人,1 名 10 岁儿童)

我怎样才能得到这个输出?

这是我的代码:

for ($i=0;$i<$arraoy[numberOfRooms];$i++)
{
    echo"room_adut$i=";
    echo $adult[] = $arraoy['room-'.$i.'-adult-total'];
    $child =$arraoy['room-'.$i.'-child-total'];
    echo",";

    for($j=0;$j<$child =$arraoy['room-'.$i.'-child-total'];$j++)
    {
        echo $age[]= $arraoy['room-'.$i.'-child-'.$j.'-age'];
        echo",";
    }

    echo"<br>";
}

我可以打印内部for循环,结果是正确的。但是我怎样才能得到for循环之外的值呢?

4

3 回答 3

1

如果我理解正确,您希望$age变量在循环外可访问。如果是这样,只需在循环之前定义它。通常在循环外定义变量以包含循环完成后的值。

$age = array();
for() {
  ...
}
// Handle $age values
于 2012-12-06T15:15:38.057 回答
0

尝试使用以下代码

$arrvar="";
for($i=0;$i<$arraoy[numberOfRooms];$i++){
  $arrvar.="room_adut$i=";

  $arrvar.= $arraoy['room-'.$i.'-adult-total'];
  $child =$arraoy['room-'.$i.'-child-total'];
  $arrvar.=",";
  for($j=0;$j<$child =$arraoy['room-'.$i.'-child-total'];$j++)
  {
    $arrvar.= $arraoy['room-'.$i.'-child-'.$j.'-age'];
    $arrvar.=",";
  }
  $arrvar.="<br>";
} 

echo $arrvar;
于 2012-12-06T15:18:46.233 回答
0

您可以使用数组来收集所有数据,然后在每个循环结束时用逗号分隔它们:

for ($i = 0; $i < $arraoy['numberOfRooms']; $i++) {
    $prefix = "room-$i";

    $values = array($arraoy["$prefix-adult-total"]);

    for($j = 0; $j < $arraoy["$prefix-child-total"]; $j++) {
        $values[] = $arraoy["$prefix-child-$j-age"];
    }
    echo 'room' . ($i + 1) . '=' . join(',', $values), '<br>';
}
于 2012-12-06T15:24:20.300 回答