未定义的偏移:-1”,php中的异常[已关闭]

mqkwyuun  于 2023-03-16  发布在  PHP
关注(0)|答案(2)|浏览(129)

**已关闭。**此问题为not reproducible or was caused by typos。当前不接受答案。

这个问题是由打字错误或无法再重现的问题引起的。虽然类似的问题在这里可能是on-topic,但这个问题的解决方式不太可能帮助未来的读者。
3天前关闭。
Improve this question
我有这个数组

$arr=   [
      0 => "T"
      1 => "h"
      2 => "e"
      3 => " "
      4 => "w"
      5 => "r"
      6 => "i"
      7 => "t"
      8 => "e"
      9 => "r"
      10 => ""
      11 => " "
      12 => "w"
      13 => "a"
      14 => "s"
      15 => " "
    ..
    ..

for($j=0;$j<count($arr);$j++)
{  
    if($arr[$j-1]==" ")
    {

    }
}

在此if条件if($arr[$j-1]==" ")中,出现此错误
消息:“未定义的偏移:-1”,例外情况:“错误异常
前一个键存在但我仍然得到错误
解决此问题的任何解决方案

uujelgoq

uujelgoq1#

$arr=   [
      0 => "T"
      1 => "h"
      2 => "e"
      3 => " "
      4 => "w"
      5 => "r"
      6 => "i"
      7 => "t"
      8 => "e"
      9 => "r"
      10 => ""
      11 => " "
      12 => "w"
      13 => "a"
      14 => "s"
      15 => " "
    ..
    ..

for($j=0;$j<count($arr);$j++)
{  
    if($j > 0 && $arr[$j-1]==" ")
    {

    }
}
bnl4lu3b

bnl4lu3b2#

索引从零开始

您正在尝试检查上一个键是否为空格,请对当前键执行操作!
$j从零开始,所以你要检查索引$j-1
为了达到你想要的,你应该从1开始到count($arr)本身。
请尝试以下代码:

for($j = 1; $j < count($arr); $j++)
{  
    if($arr[$j - 1] == " ")
    {
       // do something here
    }
}

或者这个:

for($j = 0; $j < count($arr) - 1; $j++)
{  
    if($arr[$j] == " ")
    {
       $next = $arr[$j+1];
       // do something here
    }
}

或者甚至这个:

for($j = 0; $j < count($arr); $j++)
{  
    if(isset($arr[$j]) && $arr[$j - 1] == " ")
    {
       // do something here
    }
}

相关问题