【问题标题】:PHP: Undefined offset in for loopPHP:for循环中未定义的偏移量
【发布时间】:2014-01-26 16:25:35
【问题描述】:

在制作照片库时,我遇到了一个问题。对于每张照片,我都会尝试显示它有多少 cmets,但是如果一张照片有 0 cmets,它会给我一个“未定义的偏移量”错误。我不知道我做错了什么,因为它确实表明有 0 个 cmets。

这是与问题相关的代码: (问题出现在一行:if($reacties[$i]==0){

if((isset($_GET['vanafFoto'])) AND (intval($_GET['vanafFoto']>=0)) AND (intval($_GET['vanafFoto'] < $countFotos))){ 
        $begin = intval($_GET['vanafFoto']); 

       if(($begin + $aantalFotos) <= $countFotos){ 
                     $eind = ($begin + $aantalFotos); 
           } // end if 
      else { 
                   $eind = $countFotos; 
           } // end else 

} // end if 
else { 
     $begin = 0; 
     $eind = $aantalFotos; 
} // end else 

$countFotos = count($fotoArray); 


                                                 // path naar echte foto 

} // end else 

echo "<table border='0' cellpadding='0' cellspacing='2'><tr><td ><b>" . $pathspatie . "</b> <small>(" . $count . ")</small> 
<br><br><center><small>Pictures " . ($begin + 1) . " - " . $eind . "</small></center></td></tr></table>"; 



if(($begin - $aantalFotos) >= 0){ 
             $navigation = "<a href='" . $_SERVER['PHP_SELF'] . "?page=album&boek=" . $originalPath . "&vanafFoto=" . ($begin - $aantalFotos) . "'><</a> " . $navigation;             
    } // end if 


if(($begin + $aantalFotos) < $count){ 
             $navigation .= " <a href='" . $_SERVER['PHP_SELF'] . "?page=album&boek=" . $originalPath . "&vanafFoto=" . ($begin + $aantalFotos) . "'>></a>";             
   } // end if 

echo $navigation . "<br><br>"; 
echo "</td></tr><tr>"; 
$fotonr = 1; 
for($i=$begin; $i < $eind; $i++){ 


$thumb = str_replace($path2, $thumbPath, $fotoArray[$i]); 


    echo "<td align='center'><a href='" . $_SERVER['PHP_SELF'] . "?page=album&boek=" . $originalPath . "&fotoID=" . $i . "'><img border='0' src='" . $thumb . "' height='100'><br>"; 
echo "<small>reacties ("; 
if($reacties[$i]==0){     // error occurres here.
    echo "0"; 
    } // end if 
else { 
    echo $reacties[$i]; 
    } // end else     
echo ")</small>"; 
echo "</a></td>"; 
    $fotonr++; 
    if($fotonr == ($clm + 1)){ 
    echo "</tr>\n<tr>"; 
     $fotonr = 1; 
} // end if 




} // end for 

如果有人能看出问题所在,那就太好了!

【问题讨论】:

    标签: php for-loop undefined offset


    【解决方案1】:

    我不明白你的确切目标,但也许最好再写一张支票:

    if(!isset($reacties[$i]) || $reacties[$i]==0){
        echo "0"; 
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-07-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多