if($numrows>0)
{
$i=0;
while($i<count($result_page[$i])) //This is line 68
{
echo "<tr>";
echo "<td>".$result_page[$i]['product_id']."</td>";
echo "<td>".$result_page[$i]['product_name']."</td>";
echo "<td>".$result_page[$i]['product_price']."</td>";
$i++;
}
}
这是通知:
注意:未定义的偏移量:第68行/home/jatin/web/www.exam.com/admin/productlist.php中的10。
我收到了这个通知,因为当循环最后一次执行时,$ i将会增加并超出数组的长度。
每次第二维中的元素数量发生变化时,我都必须使用计数功能。
上次检查条件时会发出通知,因此会显示所有元素,但会发出通知。
请提供适当的解决方案。
答案 0 :(得分:2)
您还可以使用以下功能禁止显示警告。
error_reporting(E_ERROR | E_PARSE);
答案 1 :(得分:1)
您可以检查是否设置了数组键,然后继续循环
if($numrows>0)
{
$i=0;
while(isset($result_page[$i]) && $i<count($result_page[$i]) //This is line 68
{
echo "<tr>";
echo "<td>".$result_page[$i]['product_id']."</td>";
echo "<td>".$result_page[$i]['product_name']."</td>";
echo "<td>".$result_page[$i]['product_price']."</td>";
}
}
答案 2 :(得分:1)
你可以尝试下面一个。
if($numrows>0)
{
foreach($result_page as $row)
{
echo "<tr>";
echo "<td>".$row['product_id']."</td>";
echo "<td>".$row['product_name']."</td>";
echo "<td>".$row['product_price']."</td>";
}
}
答案 3 :(得分:1)
我自己找到了一个解决方案,这也不是一个好的选择,但它也可以正常工作...........使用下面给出的@运算符---
while($i<count(@$result_page[$i]))
B.Desai和thavaamm给出的答案虽然是更好的选择。
答案 4 :(得分:1)
使用@运算符将取消该通知。如果仅是您要寻找的。 或者,您也可以使用以下方法:
while(isset($result_page[$i]) && $i<count($result_page[$i])