我有以下名称的数组: $ MyMondayClasses,$ MyTuesdayClasses,$ MyWednesdayClasses,$ MyThursdayClasses,$ MyFridayClasses
我有一个星期几的数组: $ days = array('Monday','Tuesday','Wednesday','Thursday','Friday');
我想循环一周中的几天,然后运行相应的数组,但我不确定如何引用变量:
foreach($days as $value){
foreach($My{$value}Classes as $ClassKey => $ClassVar){
some code goes here
}
}
我曾经使用eval来做这类事情,但要明白这不是最好的做法。无论如何,上面的代码不起作用。
答案 0 :(得分:2)
我有以下名称的数组:$ MyMondayClasses,$ MyTuesdayClasses,$ MyWednesdayClasses,$ MyThursdayClasses,$ MyFridayClasses
听起来不是很聪明。
为什么不只有一个数组,以'星期一','星期二'等作为键 - 然后在该键下每天都有你的数据数组......?
答案 1 :(得分:0)
没有意义..你应该使用数组,但如果你坚持,你可以尝试:
foreach ( $days as $value ) {
$name = sprintf("My%sClasses", $value);
if (! isset(${$name})) { // the boss asked
continue;
}
foreach ( ${$name} as $ClassKey => $ClassVar ) {
// play some ball
}
}