在环未定义偏移通知(Undefined offset notice in loop)

2019-10-17 18:23发布

我用一个脚本来创建其他形式的行。 它循环的某些文本字段的$ i个当我运行此脚本,偏移量是不确定的,因为它不exsist。 我需要使用if(isset()函数)函数,但我不确定我会怎样将它放在代码。 任何人都可以帮忙吗?

for ($i=0; $i<100; $i++) {

    if ($text['length'][$i] == "") $text['length'][$i] = "0";
    if ($text['bredth'][$i] == "") $text['bredth'][$i] = "0";
    if ($text['height'][$i] == "") $text['height'][$i] = "0";
    if ($text['weight'][$i] == "") $text['weight'][$i] = "0.00";

首先是“如果”显示通知的所有行:

注意:未定义偏移:1 C:\ XAMPP \ htdocs中\ newparcelscript.php在线41上

解决逸岸,我没有“如果” stament可言,需要而且由于行的创建和值的设置一起运行。

for ($i=0; $i<100; $i++) {

   $text['length'][$i] = "0";
   $text['breadth'][$i] = "0";
   $text['height'][$i] = "0";
   $text['weight'][$i] = "0.00";

Answer 1:

我想测试的empty()是你要找的内容在这里。

for($i = 0; $i < 100; $i++)
{
    if(empty($text['length'][$i]) === TRUE) $text['length'][$i] = 0;
    ...
    ...
}


Answer 2:

这取决于你想在这里做什么,我不是建议你使用以下isset /空组合之一

if (isset($text['length'][$i]) == false or empty($text['length'][$i]) == true)

if (isset($text['length'][$i]) == true and empty($text['length'][$i]) == true)

该错误是最有可能从对一个指标来检验不存在的:if($文本[“长度”] [$ i] ==“”)



Answer 3:

对于这种情况,如果你需要插入值未定义的字段,使用empty()

empty()返回TRUE,如果该值是一个空字符串,而!isset()将返回FALSE。
大约有这许多问题,例如看这里 。

事情是这样的:

for ($i=0; $i<100; $i++) {
    if (empty($text['length'][$i])) $text['length'][$i] = "0";
    if (empty($text['bredth'][$i])) $text['bredth'][$i] = "0";
    if (empty($text['height'][$i])) $text['height'][$i] = "0";
    if (empty($text['weight'][$i])) $text['weight'][$i] = "0.00";
}


文章来源: Undefined offset notice in loop