如何在for循环之外获取值?

时间:2012-12-06 15:10:58

标签: php

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

&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=search

我需要这个方法的结果:

&room1=2,3,5    (2 Adults, 2 Children Ages 3 & 5)
&room2=2,10  (2 Adults, 1 Children Ages 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-loop之外的值?

3 个答案:

答案 0 :(得分:1)

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

$age = array();
for() {
  ...
}
// Handle $age values

答案 1 :(得分: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;

希望这会对你有所帮助。

答案 2 :(得分: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>';
}