Php 循环通过多个整数

Php 循环通过多个整数,php,for-loop,Php,For Loop,最好的答案是php,但我可以使用任何东西 看起来您正试图在运行时插入变量名。您可以这样完成此任务: for($i = 0; $i <= 7; $i++) if(!empty($room_ID.($i+1)) && !empty($date_from.($i+1)) && !empty($date_to.($i+1)) ) room_ID1 room_ID2 date_from1 date_from2 etc.. 对于($i

最好的答案是php,但我可以使用任何东西

看起来您正试图在运行时插入变量名。您可以这样完成此任务:

for($i = 0; $i <= 7; $i++)
    if(!empty($room_ID.($i+1)) 
     && !empty($date_from.($i+1)) 
     && !empty($date_to.($i+1)) )
room_ID1
room_ID2
date_from1
date_from2
etc..

对于($i=0;$i您需要将变量括在大括号中。请尝试以下操作:

for($i = 0; $i <= 7; $i++)
    if(!empty(${'room_ID'.($i+1)}) 
         && !empty(${'date_from'.($i+1)}) 
         && !empty(${'date_to'.($i+1))} )

不确定我是否理解为什么要将变量放在“”之间,您的第一个答案也起作用,如:${room_ID。$i+1}默认情况下,未定义常量的裸字符串会转换为字符串(但也会发出警告)。不建议依赖此行为。例如,
测试
将被解释为字符串(
'test'
)如果未定义常量
test
<?php
$room_ID1 = 123;
$date_from1 = "2014-01-01";
$date_to1 = "2014-01-30";

for($i = 0; $i <= 7; $i++)
    if(!empty(${'room_ID'.($i+1)}) 
     && !empty(${'date_from'.($i+1)}) 
     && !empty(${'date_to'.($i+1)}) )
{
    echo ${'room_ID'.($i+1)};
}