foreach循环从最后一个元素开始

时间:2014-02-18 14:57:47

标签: php arrays foreach

我的foreach循环从最后一个元素开始。我在对象$gridRows中有一个数组$grid,目前设置如下:

$grid
    gridRows
        2
            gridCells
                1
                2
                3
        3
            gridCells
                1
                2

gridRow 2中有3个gridCell,gridRow 3有2个gridCell。

然而,当我遍历它时,第一个foreach首先进入gridRow 3。它仍然会在gridRow 2上进行迭代,但它是第二次。

$gridRows = $grid->getGridRows();
foreach ($gridRows as $rowKey => $rowValue) {
    $gridCells = $rowValue->getGridCells();
    foreach ($gridCells as $cellKey => $cellValue) {
        // do something
    }
}

是什么给出的?我尝试使用sort($grid, SORT_NUMERIC),但效果相同。

print_r($ gridRows)的结果:

Array (
    [3] => GridRow Object (
        [gridCells:GridRow:private] => Array (
            [2] => GridCell Object ( ... )
            [1] => GridCell Object ( ... )
        )
    )
    [2] => GridRow Object (
        [gridCells:GridRow:private] => Array (
            [1] => GridCell Object ( ... )
            [2] => GridCell Object ( ... )
            [3] => GridCell Object ( ... )
        )
    )
)

1 个答案:

答案 0 :(得分:0)

它似乎是一个对象而不是一个数组。使用数字索引数组来维护所需的顺序。