如果名称在foreach循环中出现多次,则为PHP

时间:2013-03-13 23:30:28

标签: php arrays pdo

我想确定相同的团队名称(使用变量$home_team['team_name']$away_team['team_name']输出)是否会在

内出现多次
if ($game_date_converted == $next_monday) 

语句。

如果团队名称确实出现过多次(例如,如果它出现两次),我希望该文本以红色显示。

用简单的英语,对于游戏列表,如果团队名称(可能是主队或客队)出现两次,则表示团队名称为红色。

感谢您的帮助!

<?php foreach ($games as $game) { ?>

<?php

$team_id = $game['home_team_id'];
$home_team = sw::shared()->teams->getForID($team_id); 

$away_team_id = $game['away_team_id'];
$away_team = sw::shared()->teams->getForID($away_team_id); 

$leagues = sw::shared()->packages->getAll(); 

$game_date = $game['date'];
$game_date_converted = date('Y-m-d', strtotime($game_date));

$date_converted = date('l', strtotime($game_date));
?>

<?php if ($game_date_converted == $next_monday) { ?>
    <tr>
        <td><?php echo $home_team['team_name']; ?></td>
        <td><?php echo $away_team['team_name']; ?></td>


    <!-- more HTML -->

2 个答案:

答案 0 :(得分:0)

如果您希望按照显示的方式设置样式,您可能需要在解析团队时添加一个类名(yourclass),然后应用css。

<td><?php echo "<span class='home-team'>" . $home_team['team_name'] . "</span>"; ?></td>
<td><?php echo "<span class='away-team'>" . $away_team['team_name'] . "</span>"; ?></td>

在head部分中,您可以添加jquery库:

然后添加jquery脚本:

    $(document).ready(function(){

        $(".home-team").not(":first").css("color","red");
        $(".away-team").not(":first").css("color","red");
   });

最好在现场情况下看到这一点,所以我创造了一个小提琴:http://jsfiddle.net/djwave28/TNAGr/13/

答案 1 :(得分:0)

再次调整它。没问题 !! 所有渲染的团队都有一个类的跨度,因此可以使用javascript读取它们。然后我读取它们中的文本内容并将其放在一个数组中,看看我是否有多个值。如果是,我会查找HTML中的所有内容,这些内容为我提供了双重内容并为其添加了一个类。

<?php echo "<td><span class='team'>" . $home_team['team_name'] . "</span></td>"; ?>
<?php echo "<td><span class='team'>" . $away_team['team_name'] . "</span></td>"; ?>

  $(document).ready(function () {
            var teams = Array();
            $(".team").each(function () {

                teams.push($(this).text());

            });
            teams.sort();

            for (var i = 0; i < teams.length; i++) {

                if (teams[i] === teams[i + 1]) {

                    $(".team").each(function () {

                        if ($(this).text() == teams[i]) {
                            $(this).addClass("doubleteam");
                        }
                    });
                }
            }

        });

请参阅:http://jsfiddle.net/djwave28/TNAGr/37/

这会贯穿当天的日程安排显示并查找双打队伍。如果找到它们,它将添加“doubleteam”类。您可以在CSS样式表中根据需要设置此类的样式。此外,您还可以在CSS工作表中整体标记您的团队名称。 我希望这正是你所期待的