我在PHP中显示一些数据,我正在寻找逻辑来检查重复值,但只检查顺序的重复值。
例如,现在我有一个在音乐会上播放的音乐列表:
贝多芬第九交响曲
贝多芬第九交响曲
马勒交响乐
贝多芬第九交响曲
相反,我希望它读起来像这样-这样,如果它与前一项的标题相匹配,我就不会重复标题。但如果它与它前面的项目不同,它将再次显示标题。
贝多芬第九交响曲
马勒交响乐
贝多芬第九交响曲
谢谢你的帮助!
发布于 2010-12-10 05:32:08
假设您有一个symphony对象的列表,$musicList。每个条目都具有标题和零件代号特性。
$previousTitle = 0;
foreach ($musicList as $item) {
if ($item->title != $previousTitle) {
print $item->title;
}
print "- " . $item->partNumber;
$previousTitle = $item->title;
}发布于 2010-12-10 05:32:18
您只需要将上次打印的演唱会名称存储在某个变量中,以便在打印每个演唱会名称时将其与当前演唱会名称进行比较。当它们相等时,不要打印任何东西,当它们不相等时,更新变量并打印新的演唱会名称。
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 />";
}https://stackoverflow.com/questions/4403286
复制相似问题