似乎无法弄清楚这一点。我对数组的反应非常糟糕。我试图从这个数组中获取数据并不断出错。
我尝试使用下面的代码和其他几个尝试并且失败了。记住如何做到这一点的最佳方法是什么?每次我不写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
)
)
答案 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数组,你会有一个错误所以你应该首先检查输出是否是一个数组。