如何从php中的四维数组中提取一系列值?

时间:2012-05-02 14:30:16

标签: php arrays

我有一个四维数组

要从我的数组中访问一个值,我将使用以下代码:

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

我希望能够将一系列房间的特定周,日和小时的所有值拉到一个较小的阵列中而不重构我的阵列。

我在想这样的事情:

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

我将如何实现这样的目标?

3 个答案:

答案 0 :(得分: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];
    }

答案 1 :(得分: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];
}

答案 2 :(得分: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++;
}