I'd like to change this:

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;
}
}

Into something more readable, like a for loop, or whatever other suggestions you all may have.

I tried to do:

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

But I know that is nowhere near correct, and I have no idea how to insert another variable within a variable.

Any help is appreciated!

有帮助吗?

解决方案

Try this syntax.

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

其他提示

Try this

$hours[$week_day] = $value

Something like this

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

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

echo $day3_hours;

My interpretation.

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

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

You can declare the numbers of weeks you want and to pull the data you can do something like this:

echo $day[1]['hours']
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top