对于PHP中的每个循环错误输出"提供的无效参数"

时间:2015-04-16 09:19:50

标签: php

我试图让这个功能起作用,但由于某种原因,它在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()

4 个答案:

答案 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) { ...