几乎有这个工作,但我只是错过了一些愚蠢的事情。
大部分内容来自Cryptsy API示例。
变量已经填满,但是foreach语法出现了问题。
我得到的错误是"警告:为foreach()提供的参数无效"在foreach上($ marketinfo as $ marketdata){line
$result = json_decode($res,true);
foreach($result as $marketinfo){
foreach($marketinfo as $marketdata){
$marketid = $marketdata['marketid'];
$label = $marketdata['label'];
$pcc = $marketdata['primary_currency_code'];
$pc = $marketdata['primary_currency_name'];
$scc = $marketdata['secondary_currency_code'];
$sc = $marketdata['secondary_currency_name'];
$cv = $marketdata['current_volume'];
}
}
通过这一点的一点帮助将不胜感激。
答案 0 :(得分:0)
最可能的问题是$marketinfo
不是数组。
echo
或print_r()
$marketinfo
确认其内容是一个数组,然后再与foreach进行循环。
答案 1 :(得分:0)
您需要找出$ marketinfo的类型。使用is_array()和/或gettype(),例如:
$result = json_decode($res,true);
try {
foreach($result as $key=>$marketinfo){
if(is_array($marketinfo)){
foreach($marketinfo as $marketdata){
$marketid = $marketdata['marketid'];
$label = $marketdata['label'];
$pcc = $marketdata['primary_currency_code'];
$pc = $marketdata['primary_currency_name'];
$scc = $marketdata['secondary_currency_code'];
$sc = $marketdata['secondary_currency_name'];
$cv = $marketdata['current_volume'];
}
}else{
throw new Exception($key . ' $marketinfo is not an array, is '.gettype($marketinfo));
}
}
}catch(Exception $e){
echo $e->getMessage();
}