在php中循环遍历此数组的最佳方法

esa*_*wan 0 php arrays loops

我有一个API调用比特币当我使用这个返回阿雷print_r(),这将是最好的方式来遍历它,这样我可以利用这些数据来生成表格或图表?

[{"volume": 1E+1, "timestamp": 1301982430, "symbol": "mtgoxUSD", "price": 0.62}, 
{"volume": 1E+1, "timestamp": 1301982430, "symbol": "mtgoxUSD", "price": 0.62}, 
{"volume": 31, "timestamp": 1301981474, "symbol": "mtgoxUSD", "price": 0.64}, 
{"volume": 8.592, "timestamp": 1301981466, "symbol": "mtgoxUSD", "price": 0.6401}, 
{"volume": 10.89, "timestamp": 1301981466, "symbol": "mtgoxUSD", "price": 0.6401}, 
{"volume": 9.61, "timestamp": 1301981066, "symbol": "mtgoxUSD", "price": 0.641},
{"volume": 1E+1, "timestamp": 1301981058, "symbol": "mtgoxUSD", "price": 0.641}, 
{"volume": 21.654, "timestamp": 1301981058, "symbol": "mtgoxUSD", "price": 0.641},
{"volume": 2E+1, "timestamp": 1301980388, "symbol": "mtgoxUSD", "price": 0.6729}, 
{"volume": 1E+1, "timestamp": 1301980373, "symbol": "mtgoxUSD", "price": 0.641}]
Run Code Online (Sandbox Code Playgroud)

Pas*_*TIN 5

您可以先使用以下命令将此JSON字符串转换为PHP数组json_decode():

$str = '[{"volume": 1E+1, "timestamp": 1301982430, "symbol": "mtgoxUSD", "price": 0.62}, {"volume": 1E+1, "timestamp": 1301982430, "symbol": "mtgoxUSD", "price": 0.62}, {"volume": 31, "timestamp": 1301981474, "symbol": "mtgoxUSD", "price": 0.64}, {"volume": 8.592, "timestamp": 1301981466, "symbol": "mtgoxUSD", "price": 0.6401}, {"volume": 10.89, "timestamp": 1301981466, "symbol": "mtgoxUSD", "price": 0.6401}, {"volume": 9.61, "timestamp": 1301981066, "symbol": "mtgoxUSD", "price": 0.641}, {"volume": 1E+1, "timestamp": 1301981058, "symbol": "mtgoxUSD", "price": 0.641}, {"volume": 21.654, "timestamp": 1301981058, "symbol": "mtgoxUSD", "price": 0.641}, {"volume": 2E+1, "timestamp": 1301980388, "symbol": "mtgoxUSD", "price": 0.6729}, {"volume": 1E+1, "timestamp": 1301980373, "symbol": "mtgoxUSD", "price": 0.641}]';
$data = json_decode($str);
Run Code Online (Sandbox Code Playgroud)


然后,迭代这些数据的最简单方法是使用foreach循环:

foreach ($data as $item) {
    echo "{$item->volume} - {$item->timestamp} - {$item->symbol} - {$item->price} <br />";
}
Run Code Online (Sandbox Code Playgroud)


哪个可以得到这样的东西:

10 - 1301982430 - mtgoxUSD - 0.62
10 - 1301982430 - mtgoxUSD - 0.62
31 - 1301981474 - mtgoxUSD - 0.64
8.592 - 1301981466 - mtgoxUSD - 0.6401
10.89 - 1301981466 - mtgoxUSD - 0.6401
9.61 - 1301981066 - mtgoxUSD - 0.641
10 - 1301981058 - mtgoxUSD - 0.641
21.654 - 1301981058 - mtgoxUSD - 0.641
20 - 1301980388 - mtgoxUSD - 0.6729
10 - 1301980373 - mtgoxUSD - 0.641 
Run Code Online (Sandbox Code Playgroud)