【问题标题】:How do I iterate through an stdObject's array如何遍历 stdObject 的数组
【发布时间】:2015-12-17 12:12:28
【问题描述】:

我正在尝试遍历以下 stdClass 对象数组。

Array
(
[0] => stdClass Object
    (
        [key] => 49
        [values] => Array
            (
                [0] => Kansas City Chiefs
                [1] => -3
                [2] => Denver Broncos
                [3] => 3
                [4] => 41
                [5] => 2015-09-18 00:25:00
            )

    )

[1] => stdClass Object
    (
        [key] => 50
        [values] => Array
            (
                [0] => Carolina Panthers
                [1] => -3.5
                [2] => Houston Texans
                [3] => 3.5
                [4] => 40
                [5] => 2015-09-20 17:00:00
            )

    )

[2] => stdClass Object
    (
        [key] => 51
        [values] => Array
            (
                [0] => New Orleans Saints
                [1] => -10
                [2] => Tampa Bay Buccaneers
                [3] => 10
                [4] => 47
                [5] => 2015-09-20 17:00:00
            )

    )

[3] => stdClass Object
    (
        [key] => 52
        [values] => Array
            (
                [0] => Pittsburgh Steelers
                [1] => -6
                [2] => San Francisco 49ers
                [3] => 6
                [4] => 45
                [5] => 2015-09-20 17:00:00
            )

    )

[4] => stdClass Object
    (
        [key] => 53
        [values] => Array
            (
                [0] => Minnesota Vikings
                [1] => -3
                [2] => Detroit Lions
                [3] => 3
                [4] => 43
                [5] => 2015-09-20 17:00:00
            )

    )

[5] => stdClass Object
    (
        [key] => 54
        [values] => Array
            (
                [0] => Buffalo Bills
                [1] => 1
                [2] => New England Patriots
                [3] => -1
                [4] => 45
                [5] => 2015-09-20 17:00:00
            )

    )

[6] => stdClass Object
    (
        [key] => 55
        [values] => Array
            (
                [0] => Chicago Bears
                [1] => 2
                [2] => Arizona Cardinals
                [3] => -2
                [4] => 45
                [5] => 2015-09-20 17:00:00
            )

    )

[7] => stdClass Object
    (
        [key] => 56
        [values] => Array
            (
                [0] => Cleveland Browns
                [1] => 1
                [2] => Tennessee Titans
                [3] => -1
                [4] => 41
                [5] => 2015-09-20 17:00:00
            )

    )

[8] => stdClass Object
    (
        [key] => 57
        [values] => Array
            (
                [0] => Cincinnati Bengals
                [1] => -3.5
                [2] => San Diego Chargers
                [3] => 3.5
                [4] => 46
                [5] => 2015-09-20 17:00:00
            )

    )

[9] => stdClass Object
    (
        [key] => 58
        [values] => Array
            (
                [0] => Washington Redskins
                [1] => 3.5
                [2] => St. Louis Rams
                [3] => -3.5
                [4] => 41
                [5] => 2015-09-20 17:00:00
            )

    )

[10] => stdClass Object
    (
        [key] => 59
        [values] => Array
            (
                [0] => New York Giants
                [1] => -2.5
                [2] => Atlanta Falcons
                [3] => 2.5
                [4] => 51
                [5] => 2015-09-20 17:00:00
            )

    )

[11] => stdClass Object
    (
        [key] => 60
        [values] => Array
            (
                [0] => Oakland Raiders
                [1] => 6
                [2] => Baltimore Ravens
                [3] => -6
                [4] => 43
                [5] => 2015-09-20 20:05:00
            )

    )

[12] => stdClass Object
    (
        [key] => 61
        [values] => Array
            (
                [0] => Jacksonville Jaguars
                [1] => 6
                [2] => Miami Dolphins
                [3] => -6
                [4] => 41
                [5] => 2015-09-20 20:05:00
            )

    )

[13] => stdClass Object
    (
        [key] => 62
        [values] => Array
            (
                [0] => Philadelphia Eagles
                [1] => -5
                [2] => Dallas Cowboys
                [3] => 5
                [4] => 55
                [5] => 2015-09-20 20:25:00
            )

    )

[14] => stdClass Object
    (
        [key] => 63
        [values] => Array
            (
                [0] => Green Bay Packers
                [1] => -3.5
                [2] => Seattle Seahawks
                [3] => 3.5
                [4] => 49
                [5] => 2015-09-21 00:30:00
            )

    )

[15] => stdClass Object
    (
        [key] => 64
        [values] => Array
            (
                [0] => Indianapolis Colts
                [1] => -7
                [2] => New York Jets
                [3] => 7
                [4] => 47
                [5] => 2015-09-22 00:30:00
            )

    )

)

当我使用以下语法时,它会正确打印一行,而一行空白

foreach($tableData as $obj)
{
foreach ($obj as $tr)
{

    echo '<tr><td>'.$mysqldate = date( 'g:ia - D', $phpdate =     strtotime($tr[5])- 60 * 60 * 5).'</td><td><strong>'.($i += 4).'</strong> '.$tr[0].'<br><br><strong>'.($iii += 4).'</strong> Over</td><td>'.$tr[1].'<br><br>'.$tr[4].'</td><td><strong>'.($ii += 4).'</strong> '.$tr[2].'<br><br><strong>'.($iiii += 4).'</strong> Under</td><td>'.$tr[3].'<br><br>'.$tr[4].'</td></tr>';
}
}

我的猜测是它循环遍历键,它何时出现空白,而不是遍历值,我得到我想要的结果。我尝试了一些似乎确实有效的方法。如何循环避免 [key]?

【问题讨论】:

  • 你确定你真的有一个包含对象的数组吗? =&amp;gt;好像有点奇怪
  • 它有那些原因我从源复制它
  • 几年前有人问过类似的问题:[在此处输入链接描述][1] [1]:stackoverflow.com/questions/16287782/…

标签: php


【解决方案1】:

试试这个:

foreach($tableData as $key => $val){
  $val2 = $val->values;
   echo $val[0];
}

【讨论】:

  • 为什么?他想访问对象数组中的数组数组。
  • 对象没有数组数组。请参阅我之前发布的答案。
【解决方案2】:

您需要改为访问对象的 values 属性,如下所示:

foreach($tableData as $obj)
{
  $tr = $obj->values;
  echo ....
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-10-30
    • 2022-01-21
    • 1970-01-01
    • 2018-10-05
    • 1970-01-01
    • 1970-01-01
    • 2015-04-07
    • 1970-01-01
    相关资源
    最近更新 更多