0

我如何循环遍历这个数组。我已经尝试了具有奇怪结果的 foreach 语句。我需要访问 StopName 和 Time 的值。

提前致谢

  Array
(
    [Direction0] => Array
        (
            [0] => Array
                (
                    [DirectionNum] => 0
                    [EndTime] => 2012-11-26T06:16:00
                    [RouteID] => 87v1
                    [StartTime] => 2012-11-26T05:51:00
                    [StopTimes] => Array
                        (
                            [0] => Array
                                (
                                    [StopID] => 3002573
                                    [StopName] => GREENBELT STATION + BUS BAY C
                                    [StopSeq] => 1
                                    [Time] => 2012-11-26T05:51:00
                                )

                            [1] => Array
                                (
                                    [StopID] => 3002579
                                    [StopName] => GREENBELT METRO DRIVE + CHERRYWOOD
                                    [StopSeq] => 6
                                    [Time] => 2012-11-26T05:52:26
                                )

                            [2] => Array
                                (
                                    [StopID] => 3002409
                                    [StopName] => CHERRYWOOD LA + IVY LA
                                    [StopSeq] => 8
                                    [Time] => 2012-11-26T05:53:31
                                )

                            [3] => Array
                                (
                                    [StopID] => 3002413
                                    [StopName] => CHERRYWOOD LA + US COURT HOUSE
                                    [StopSeq] => 10
                                    [Time] => 2012-11-26T05:54:00
                                )

                            [4] => Array
                                (
                                    [StopID] => 3002910
                                    [StopName] => POWDER MILL RD + #161
                                    [StopSeq] => 20
                                    [Time] => 2012-11-26T05:57:35
                                )

这段代码最初是一个 json 对象的形式,我使用了 php json_decode 函数,它将这些数据转换为一个多维数组。希望我的问题足够清楚,可以提供见解或解决方案。

4

3 回答 3

2

鉴于您的数组被调用$array,您可以执行以下操作:

foreach($array['Direction0'][0]['StopTimes'] as $arr) {
   echo $arr['StopName'];
   echo $arr['Time'];
}
于 2012-12-01T10:52:04.237 回答
1

您需要使用多个 foreach 假设您可以在第一个数组中有多个“DirectionXXX”并且在每个方向数组中有多个索引

foreach($myArray as $direction){
    foreach($direction as $subdirection){
        foreach($subdirection['StopTimes'] as $stopTime){
            echo "Stop Name : " . $stopTime['StopName'] . " - Time : " . $stopTime['time'];
        }
    }
}
于 2012-12-01T10:53:02.047 回答
0
foreach ($your_array as $direction) {
    foreach ($direction as $id => $direction_data) {         
         foreach ($direction_data['StopTimes'] as $stop_id => $stoptime_data) {
              // finally you got it
              echo $stoptime_data["StopName"];
              echo $stoptime_data["Time"];
         }
    }
}
于 2012-12-01T10:53:47.937 回答