循环遍历Php中的数组

时间:2013-11-24 01:11:06

标签: php arrays multidimensional-array

似乎无法弄清楚这一点。我对数组的反应非常糟糕。我试图从这个数组中获取数据并不断出错。

我尝试使用下面的代码和其他几个尝试并且失败了。记住如何做到这一点的最佳方法是什么?每次我不写Php几个月我似乎忘了一切......

  foreach( $data as $key) { 
            foreach( $key as $value => $sum) {
              echo $sum;
            } 
        }





Array
    (
        [result] => OK
        [data] => Array
            (
                [destination] => 
                [tracking] => Array
                    (
                        [0] => Array
                            (
                                [loc] => Array
                                    (
                                        [city] => 
                                        [territory] => ME
                                        [country] => US
                                    )

                                [desc] => Delivered
                                [stamp] => 1384977300
                                [time] => 11/20/13 11:55 am
                                [locStr] => ME, US
                                [geo] => Array
                                    (
                                        [lat] => 45.253783
                                        [lon] => -69.4454689
                                    )

                            )

3 个答案:

答案 0 :(得分:1)

迭代跟踪?

if ($arr['result'] == "OK") {

  for ($i=0; $i < count( $arr['data']['tracking'] ); $i++) {
    // do stuff with $arr['data']['tracking'][$i]
  }
}

答案 1 :(得分:1)

在php中基本上有两种不同类型的数组。基于键/值的数组和基于元素的数组。 基于元素的数组是

$arr = array("a", "b", "c");
echo $arr[0]; //  prints a
echo $arr[2]; //  prints c

   //  hash - k/v array
   $arr = array("monkey" => "banana", "chicken" => "egg");
   echo $arr["monkey"]; //  prints banana

   //  combination 
  $arr = array( array("monkey" => array("banana", "water")));
  echo $arr[0]["monkey"][1]; // prints water

希望这会有所帮助。

答案 2 :(得分:1)

我认为你的代码没错。你有三维数组。你只有两个foreach。你必须在循环内循环。如果你试图回显一个Ofcourse数组,你会有一个错误所以你应该首先检查输出是否是一个数组。