0

我在 PHP 中显示一些数据,我正在寻找逻辑来检查重复值,但只有顺序重复值。

例如,现在我在音乐会上播放的音乐列表中显示了这个:

贝多芬第九交响曲
- 第 1 部分

贝多芬第九交响曲
- 第 2 部分

马勒交响曲
- 第 1 部分

贝多芬第九交响曲
- 第 4 部分

相反,我希望它像这样阅读 - 这样我就不会重复标题,如果它与前一个项目的标题匹配。但如果它与之前的项目不同,它将再次显示标题。

贝多芬第九交响曲
- 第 1
部分 - 第 2 部分

马勒交响曲
- 第 1 部分

贝多芬第九交响曲
- 第 4 部分

谢谢你的帮助!

4

2 回答 2

0

假设您有一个交响乐对象列表 $musicList。每个项目都有标题和部件号属性。

$previousTitle = 0;
foreach ($musicList as $item) {
  if ($item->title != $previousTitle) {
    print $item->title;
  }
  print "- " . $item->partNumber;

  $previousTitle = $item->title;
}
于 2010-12-09T21:32:07.523 回答
0

您只需要将上次打印的音乐会名称存储在某个变量中,这样您就可以在打印每一个时将其与当前的音乐会名称进行比较。当它们相等时,不要打印任何东西,当它们不相等时,更新变量并打印新的音乐会名称。

while ($row = mysql_fetch_array($result_resource)) {

    if (!isset($last) || $last != $row['concert_name']) {
        $last = $row['concert_name'];
        echo "<h1>" . $row['concert_name'] . "</h1>";
    }
    echo $row['song_name'] . "<br />";

}
于 2010-12-09T21:32:17.637 回答