在 for 循环中创建的变量

Variable variables created within a for loop

提问人:RobDubya 提问时间:7/3/2013 更新时间:7/3/2013 访问量:68

问:

我想改变这一点:

if ($week_day == "1")
{
$day1_hours = $value;
}
if ($week_day == "2")
{
$day2_hours = $value;
}
if ($week_day == "3")
{
$day3_hours = $value;
}
if ($week_day == "4")
{
$day4_hours = $value;
}
if ($week_day == "5")
{
$day5_hours = $value;
}
if ($week_day == "6")
{
$day6_hours = $value;
}
if ($week_day == "7")
{
$day7_hours = $value;
}
}

变成一些更易读的东西,比如 for 循环,或者你们可能有的任何其他建议。

我试着做:

for ($c=1; $c<8, $c++)
{
if ($week_day == $c)
{
$day".$c."_hours = $value;
}
}

但我知道这远非正确,而且我不知道如何在变量中插入另一个变量。

任何帮助都是值得赞赏的!

php for-loop 变量

评论

1赞 andrewsi 7/3/2013
设置数组键不是更容易吗?$day[$week_day] = $value
0赞 RobDubya 7/3/2013
也许!详细说明一下?
0赞 andrewsi 7/3/2013
@RobDubya....差不多就是这样,实际上:D
0赞 elclanrs 7/3/2013
查看手册以获取更多信息 php.net/manual/en/language.types.array.php。请尝试您自己的代码。发布无效的语法并不显示解决问题的尝试...
0赞 RobDubya 7/3/2013
你能发布这种情况的完整代码作为答案吗?声明数组等等?

答:

1赞 sectus 7/3/2013 #1

试试这个语法。

${'day'.$c.'_hours'} = $value;

评论

0赞 RobDubya 7/3/2013
没有喜悦,加载空白页。
0赞 Kris 7/3/2013 #2

试试这个

$hours[$week_day] = $value
0赞 Lloyd Banks 7/3/2013 #3

像这样的东西

$week_day = 3;
$value = "hi";

${"day" . $week_day . "_hours"} = $value;  

echo $day3_hours;
0赞 Drixson Oseña 7/3/2013 #4

我的解释。

$week = 7;
$day = array();

for($i=1; $i<=7; $i++){
   $day[$i]['hours'] = $value;
}

您可以声明所需的周数,要提取数据,您可以执行如下操作:

echo $day[1]['hours']