在foreach循环中调用php变量数组名
我有以下名称的数组: $MyMondayClasses、$MyTuesdayClasses、$MyWednesdayClasses、$MyThursdayClasses、$MyFridayClasses 我有一个一周中几天的数组: $days=数组('星期一'、'星期二'、'星期三'、'星期四'、'星期五') 我想循环一周中的几天,然后运行相应的数组,但我不确定如何引用变量以确保:在foreach循环中调用php变量数组名,php,arrays,variables,Php,Arrays,Variables,我有以下名称的数组: $MyMondayClasses、$MyTuesdayClasses、$MyWednesdayClasses、$MyThursdayClasses、$MyFridayClasses 我有一个一周中几天的数组: $days=数组('星期一'、'星期二'、'星期三'、'星期四'、'星期五') 我想循环一周中的几天,然后运行相应的数组,但我不确定如何引用变量以确保: foreach($days as $value){ foreach($My{$value}Classes
foreach($days as $value){
foreach($My{$value}Classes as $ClassKey => $ClassVar){
some code goes here
}
}
我曾经用eval来做这类事情,但我知道这不是最好的做法。总之,上述代码不起作用。没有意义。。您应该使用数组,但如果您坚持,您可以尝试:
foreach ( $days as $value ) {
$name = sprintf("My%sClasses", $value);
if (! isset(${$name})) { // the boss asked
continue;
}
foreach ( ${$name} as $ClassKey => $ClassVar ) {
// play some ball
}
}
我有以下名称的数组:$MyMondayClasses、$MyTuesdayClasses、$MyWednesdayClasses、$MyThursdayClasses、$MyFridayClasses
听起来不太聪明
为什么你不只需要一个数组,以“星期一”、“星期二”等作为键,然后在该键下设置每天的数据数组…?为什么你不只需要一个将一周中的某一天传递给的类?我假设每周的天数是相似的。您是否考虑过在另一个数组中构建
$MyDAYClasses
数组,从一开始就用天数作为索引?e、 g.classes=array('Monday'=>$MyMondayClasses),…)这样,当你想查找它们时,你可以很容易地找到它们。听起来不太聪明
听起来不太聪明。我犯了一个语法错误:-P(+1)