PHP检查重复的顺序值

时间:2010-12-09 21:26:36

标签: php logic duplicates unique sequential

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

例如,现在我出现在音乐会上播放的音乐列表:

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

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

马勒交响乐团 - 第1部分

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

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

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

马勒交响乐团 - 第1部分

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

感谢您的帮助!

2 个答案:

答案 0 :(得分:0)

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

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

  $previousTitle = $item->title;
}

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

}