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

您还可以将 10 个房间存储在Array以下位置:

    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 回答