-4

让我解释一下下面的数组:

1、2 和 3 代表星期一、星期二和星期三。

13、14 和 15 是一个月中的日子。

15:00 - 16:20 (..) 是电影放映的时间。

这意味着在 13 日星期一下午 3 点到 4 点 20 分,您可以观看“蝙蝠侠”。

同样在 13 日星期一下午 6:10 到晚上 7:30,您可以观看“苦难”……等等。

$myarray
: array = 
  1: array = 
    13: array = 
      15:00 - 16:20: array = 
        Movie: string = Batman                 
      18:10 - 19:30: array = 
        Movie: string = Misery                 
  2: array = 
    14: array = 
      15:00 - 16:20: array = 
        Movie: string = The Avengers                
      16:20 - 17:50: array = 
        Movie: string = The Hours                 
  3: array = 
    15: array = 
      18:10 - 19:30: array = 
        Movie: string = Gladiator  

您能否帮我回显这个数组,以便您可以按以下格式查看其中的信息?:

Monday - 13
15:00 - 16:20 - Batman
18:10 - 19:30 - Misery
Tuesday – 14 
15:00 - 16:20 - The Avengers                
16:20 - 17:50 - The Hours
Wednesday – 15
8:10 - 19:30  -  Gladiator  

非常感谢!

4

2 回答 2

0

我正在对数组的真实布局做出假设,以下将创建一个$weekDays数组来映射整数和星期几(我定义了键,以便您可以随时移动它们):

$weekDays = (1=>'Monday', 2=>'Tuesday', 3=>'Wednesday', 4=>'Thursday', 5=>'Friday', 6=>'Saturday', 7=>'Sunday');

// loop through each week-day in the array
foreach ($myarray as $weekDay => $dates) {
    // loop through each "movie date" in the current week-day block
    foreach ($dates as $monthDate => $movies) {
        // output the day-of-the-week and the date-of-the-month
        echo $weekDays[$weekDay] . ' - ' . $monthDate . '<br />';

        // loop through all of the movies for the current date-of-the-month
        foreach ($movies as $movieTime => $movie) {
            // output the movie's time and name
            echo $movieTime . ' - ' . $movie . '<br />';
        }
    }
}

这是假设您的示例中的数组确实采用以下格式:

$myarray = array(
    1 => array(
        13 => array(
            '15:00 - 16:20' => array(
                'Movie' => 'Batman'
            ),
            '18:10 - 19:30' => array(
                'Movie' => 'Misery'
            )
        ), // ... can repeat
    ), // ... can repeat
);
于 2012-09-28T12:37:38.690 回答
0

您可以尝试以下代码:参见演示

$myarray = array(
    1 => array(
        13 => array(
            "15:00 - 16:20" => array(
                "Movie" => " Batman"
            ),
            "18:10 - 19:30" => array(
                "Movie" => " Misery"
            )
        )
    ),
    2 => array(
        14 => array(
            "15:00 - 16:20" => array(
                "Movie" => " The Avengers "
            ),
            "16:20 - 17:50" => array(
                "Movie" => " The Hours "
            )
        )
    ),
    3 => array(
        15 => array(
            "18:10 - 19:30" => array(
                "Movie" => " Gladiator"
            )
        )
    )
);


$days = array(1 => 'Monday',2 => 'Tuesday',3 => 'Wednesday');

echo "<pre>";
foreach ( $myarray as $key => $value ) {
    foreach ( $value as $valueKey => $info ) {
        echo $days[$key], " - ", $valueKey, PHP_EOL;
        foreach ( $info as $infoKey => $infoValue ) {
            echo $infoKey, " - ", $infoValue['Movie'], PHP_EOL;
        }
        echo PHP_EOL;
    }
}

输出

Monday - 13
15:00 - 16:20 -  Batman
18:10 - 19:30 -  Misery

Tuesday - 14
15:00 - 16:20 -  The Avengers 
16:20 - 17:50 -  The Hours 

Wednesday - 15
18:10 - 19:30 -  Gladiator
于 2012-09-28T12:42:06.690 回答