【发布时间】:2012-07-13 12:29:33
【问题描述】:
我需要帮助来抑制我从 foreach() 收到的警告
Warning: Invalid argument supplied for foreach() in
/sitename/pages/admin/questions/index.php
我得到了我想要的结果。我只需要删除警告...
这是我的代码:
for($i = 1; $i <= $RESULTS_count; $i++){
$rawResult = $wpdb->get_row(
$wpdb->prepare("SELECT * FROM ".WPSQT_TABLE_RESULTS." WHERE id = $i"),ARRAY_A);
$rawResult['sections'] = unserialize($rawResult['sections']);
foreach($rawResult['sections'] as $result_sections){
if($result_sections['answers'][1]['mark'] == 'correct') $correct_answer++;
}
}
echo $correct_answer/$RESULTS_count;
如果我将代码从 FOR 循环中取出并将 WHERE id = $i 替换为 WHERE id = 1 它将起作用...问题可能是 FOREACH 不喜欢在 FOR 循环中吗?
你觉得我应该怎么做?
编辑:我认为我收到的警告是由于我删除了 ID 为 2 的结果,因此当循环遍历表行时,其中一个为空,这就是我收到警告的方式...
【问题讨论】:
-
为什么不修复代码以消除警告?
-
我不认为我可以,因为我拥有的数据......
-
你能发布 var_dump($rawResult['sections']); 的输出吗? 在你反序列化数据之后?
-
它太长了……但它是一个多维数组。顺便说一句,杰里米的回答解决了这个问题。
标签: php wordpress loops for-loop foreach