我试图让这个函数工作,但由于某种原因,它在前一行出错,说有一个无效的参数。
$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()
注意:我需要保持if... else...
在当前的顺序
if语句的一些变体,在for
之前if(!is_array($scores) && !count($scores) || empty($scores)){
if(!is_array($scores) && !count($scores)){
我不能使用使用var_dump($scores);
,因为错误是在我运行的私人网站上的一个页面上(无法提供链接),我无法找到一种方法来重新创建错误。也许有人知道我可以捕获导致foreach出错的数据并将其保存到日志文件的方法?
如果不是数组,可以使用error_log
:
$scores= TESTAPI::GUL($user->ID);
if (empty($scores)) {
echo "<p>No Scores</p>";
} else {
if(!is_array($scores)) {
$scores_info = print_r($scores, true);
error_log('$scores is no array but: ' . $scores_info);
echo "<p>No Scores</p>";
} else {
foreach ($scores as $score) {
echo "<p>".$score."</p>";
}
}
}
它将写入错误日志。您可以在error_log文档中了解如何配置它。当您知道错误是什么时,您应该清楚地将其删除,但是对于临时捕获它,这是有效的…