0

こんにちはワードプレスでシネマブログを作っています。カスタム テキスト ボックスでシリアル化されたデータを使用して、テレビ エピソードを作成しました。ここでの問題は、データをシリアル化解除するたびに、季節、エピソード番号、プロットを表示したいということです。ただし、複数のエピソードが同じシーズンになるため、重複するシーズン番号を複数回表示したくありませんでした。これを行うには、if ステートメントを使用します。ただし、まったく同じ場合でも、2 つの異なる数字であるかのように、季節が重複することがあります。空白などの人的ミスではないことを確認するために、数字のリスト ボックスを使用してシーズン番号を入力しました。残念ながら、私はまだその問題を抱えています。

foreach ($data as $item):
 if ($item['season']  !== $old_season) {
       echo  '<ul class="panel"><h2 class="title">Season '. $item['season'].'</h2>'.     
             '<li><h2>'.stripslashes(base64_decode($item['title'])).'</h2>'; $old_season = $item['season'];} 
           echo         '<p>Episode'. $item['number']. 'Aired'.stripslashes(base64_decode($item['airdate'])).'</p>'
                   .'<p>'.stripslashes(base64_decode($item['plot'])).'</p></li>'; 
 endforeach

どんな助けでも大歓迎です!

4

1 に答える 1

2

この場合に行う必要があるのは、$ data配列を並べ替えるだけで、そこにあるコードは問題なく機能します。

if ($item['season']  !== $old_season) {
       echo  '<ul class="panel"><h2 class="title">Season '. $item['season'].'</h2>'.     
             '<li><h2>'.stripslashes(base64_decode($item['title'])).'</h2>';
       $old_season = $item['season'];
}

問題はここにあるコードです:

$old_season = $item['season'];

シーケンシャル要素でのみ機能するためです。

于 2012-04-19T06:21:25.707 に答える