我正在发送酒店列表请求。我的网址是:
&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之外的值?
答案 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>';
}