1

私は4次元配列を持っています

配列から 1 つの値にアクセスするには、次のコードを使用します。

$class = $schedule[$week][$day][$room][$hour];

配列を再構築せずに、部屋の範囲の特定の週、日、時間のすべての値を小さな配列にプルできるようにしたいと考えています。

私は次のようなことを考えていました:

$classes = $schedule[$week][$day][range(1,10)][$hour];

どうすればこのようなことを達成できますか?

4

3 に答える 3

2

それがあなたが望むものかどうかわからない:

for($i=1;$i<=10;++$i){
   echo $schedule[$week][$day][$i][$hour];
}

1から10までの部屋をエコーし​​ます

Array次のように 10 の部屋を保存することもできます。

    for($i=1;$i<=10;++$i){
     $classes[] = $schedule[$week][$day][$i][$hour];
    }
于 2012-05-02T14:37:39.510 に答える
1

それが常に使用できる範囲である場合:

$classes = array();
for($current_room = 1; $current_room <= 10; $current_room++){
  $classes[$week][$day][$current_room] = $class[$week][$day][$current_room][$hour];
}

特定の部屋番号を使用できるようにしたい場合

$classes = array();
foreach(array(1,2,6,8) as $current_room){
  $classes[$week][$day][$current_room] = $class[$week][$day][$current_room][$hour];
}
于 2012-05-02T14:39:52.867 に答える
0

私があなたを正しければ:

$classes = array();

for($a=1; $a<=10; $a++){
    $classes[$week][$day][$a][$hour] = $schedule[$week][$day][$a][$hour];
}

また

$classes = array();    

while($a<11){
    $classes[$week][$day][$a][$hour] = $schedule[$week][$day][$a][$hour];
    $a++;
}
于 2012-05-02T14:39:07.247 に答える