-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

以下のコードを試すことができます:デモを見る

$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 に答える
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 に答える