将字符串用作数组时出现PHP错误

将字符串用作数组时出现PHP错误,php,curl,Php,Curl,我得到一个网站作为cURL响应,并将其传递给这个函数。然后我在字符串中输入数据,进行一些处理。它可以工作,但我得到了以下错误: 注意:未初始化的字符串偏移量:75817英寸 /var/www/html/wp content/plugins/crg daily/lib/CragslistRawDumpProcessor.class.php 在线7 代码如下: public function rollSausage($dump){ $anchorArray = array(); $d

我得到一个网站作为cURL响应,并将其传递给这个函数。然后我在字符串中输入数据,进行一些处理。它可以工作,但我得到了以下错误:

注意:未初始化的字符串偏移量:75817英寸 /var/www/html/wp content/plugins/crg daily/lib/CragslistRawDumpProcessor.class.php 在线7

代码如下:

public function rollSausage($dump){
    $anchorArray = array();
    $dumpLength = strlen($dump);
    $skipToLetter = 1;
    while($skipToLetter < $dumpLength){
        $skipToLetter++;
        $letter = $dump[$skipToLetter];
        ...
    }
}
公共函数($dump){
$anchorary=array();
$dumpLength=strlen($dump);
$skipToLetter=1;
而($skipToLetter<$dumpLength){
$skipToLetter++;
$letter=$dump[$skipToLetter];
...
}
}

有什么想法吗?我认为这与提交的字符串类型有关。这是一个原始的卷曲反应。我正在抓取一个网页。

使用后增加
$skipToLetter
(最好在while循环结束时)。您也可以从0开始,而不是从1开始

 $skipToLetter = 0;
 while($skipToLetter < $dumpLength){
            $letter = $dump[$skipToLetter];
    ...
            $skipToLetter++;
            }
        }
$skipToLetter=0;
而($skipToLetter<$dumpLength){
$letter=$dump[$skipToLetter];
...
$skipToLetter++;
}
}
原因如下:假设您有一个长度为4的字符串。这意味着字符串中的最后一个索引是
3
。你的指数上升到3。它在while循环中进行比较
(3更新了您的代码

public function rollSausage($dump){
    $anchorArray = array();
    $dumpLength = strlen($dump);
    $skipToLetter = 1;
    while($skipToLetter < $dumpLength){
        $skipToLetter++;
         if( siset( $dump[$skipToLetter]) )
            $letter = $dump[$skipToLetter];
...
        }
    }
公共函数($dump){
$anchorary=array();
$dumpLength=strlen($dump);
$skipToLetter=1;
而($skipToLetter<$dumpLength){
$skipToLetter++;
if(siset($dump[$skipToLetter]))
$letter=$dump[$skipToLetter];
...
}
}
}