在Php中循环数组


Looping through an Array in Php

似乎无法理解这一点。我在数组上挣扎得很厉害。我正试图从这个数组中获取数据,但不断出现错误。

我尝试使用下面的代码和其他几次尝试,但都失败了。记住如何做到这一点的最好方法是什么?每次我有几个月没有编写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
                                    )
                            )

是否迭代跟踪?

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

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

希望这能有所帮助。

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