对象中的对象,在foreach中跳过一个

时间:2014-05-22 16:22:07

标签: php

我试图遍历每个对象并在网站上显示团队名称...但是我想跳过$ variable->活动密钥。

团队数量各不相同......我怎样才能跳过“活跃的'键?

我试过了,但它似乎不起作用:

$active = $team->active;
if (isset($team->active)) {
foreach ($team as $data) {

    if (isset($data->idteam) != $active) {
        print_r($data);
        $return .= '<li><a href="a_set_active_team.php?set=' . $data->idteam . '"><i class="fa fa-power-off"></i> ' . $data->nameteam . '</a></li>';
    } else {
        $return .= "No Teams!";
    }
}
}

这是我的目标:

teamAccess Object
(
[2] => Team Object
    (
        [nameteam] => Team 1
        [idteam] => 2
        [enabled] => 1
        [last_access_stamp] => 1399603014
        [create_stamp] => 4
        [update_stamp] => 1399167351
    )

[1] => Team Object
    (
        [nameteam] => Test Team
        [idteam] => 1
        [enabled] => 0
        [last_access_stamp] => 1399603014
        [create_stamp] => 0
        [update_stamp] => 0
    )

[3] => Team Object
    (
        [nameteam] => Team 3
        [idteam] => 3
        [enabled] => 1
        [last_access_stamp] => 1399603014
        [create_stamp] => 0
        [update_stamp] => 0
    )

[active] => 3
[alerts] => Array
    (
    )

)

1 个答案:

答案 0 :(得分:1)

foreach中,您可以捕获该密钥,并在条件下进行检查以跳过该密钥:

foreach ($team as $key => $data) {
    if ($key != 'active') {
        $return .= '<li><a href="a_set_active_team.php?set=' . $data->idteam . '"><i class="fa fa-power-off"></i> ' . $data->nameteam . '</a></li>';
    }
}

观察:似乎teamAccess对象应该具有teams属性,该属性可以是团队对象的数组。这可能是比将所有数据作为根属性混合在一起更好的结构。