【问题标题】:Objects in Objects, Skip one in foreach对象中的对象,在 foreach 中跳过一个
【发布时间】:2014-07-11 19:34:05
【问题描述】:

我正在尝试遍历每个对象并在网站上显示团队名称...但是我想跳过 $variable->active 键。

团队数量各不相同...如何跳过“活动”键?

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

$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
    (
    )

)

【问题讨论】:

标签: php


【解决方案1】:

foreach中,你可以捕获key,并勾选一个条件跳过它:

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 属性,它可以是一个团队对象数组。这可能是比将所有数据混合在一起作为根属性更好的结构。

【讨论】:

  • 谢谢!我会试试的。
猜你喜欢
  • 1970-01-01
  • 2021-10-13
  • 1970-01-01
  • 2020-09-12
  • 2017-02-22
  • 1970-01-01
  • 2022-11-29
  • 2020-01-18
  • 2017-12-11
相关资源
最近更新 更多