0

$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 を使用していましたが、それがベストプラクティスではないことを理解しています。とにかく、上記のコードは機能しません。

4

2 に答える 2

2

$MyMondayClasses、$MyTuesdayClasses、$MyWednesdayClasses、$MyThursdayClasses、$MyFridayClasses という名前の配列があります。

あまり賢くないように聞こえます。

「月曜」、「火曜」などをキーとして配列を1 つだけ作成し、そのキーの下に各日のデータ配列を作成してみませんか?

于 2013-03-20T16:28:32.667 に答える
0

Does not make sense .. you should use array but if you insist you can try :

foreach ( $days as $value ) {
    $name = sprintf("My%sClasses", $value);
    if (! isset(${$name})) { // the boss asked
        continue;
    }
    foreach ( ${$name} as $ClassKey => $ClassVar ) {
        // play some ball
    }
}
于 2013-03-20T16:24:09.573 に答える