我试图让这个功能起作用,但由于某种原因,它在foreach行上出错,说有一个无效的参数。
$scores= TESTAPI::GUL($user->ID);
if (empty($scores)) {
echo "<p>No Scores</p>";
} else {
foreach ($scores as $score) {
echo "<p>".$score."</p>";
}
}
我得到的错误是:PHP Warning: Invalid argument supplied for foreach()
答案 0 :(得分:2)
例如,empty('')
也是true
。
我建议检查is_array($scores) && count($scores)
而不是empty()
,以确保api返回可用输出(数组)并且包含元素(count() > 0
,这是真的)。< / p>
答案 1 :(得分:1)
$scores = TESTAPI::GUL($user->ID);
if (is_array($scores) && count($scores)) {
foreach ($scores as $score) {
echo "<p>".$score."</p>";
}
} else {
echo "<p>No Scores</p>";
}
答案 2 :(得分:1)
看起来$scores
既不是数组也不是对象......
答案 3 :(得分:1)
试试这个 -
foreach ((array) $scores as $score) { ...