PHP注意:未定义的偏移量:0

时间:2014-08-19 22:04:23

标签: php

我收到以下PHP通知

PHP Notice:  Undefined offset: 0

以下是导致错误的原因示例。

$file = $_SERVER['DOCUMENT_ROOT']."/savedposts/edited".$post_id.".txt";

$saved_content = file_get_contents($_SERVER['DOCUMENT_ROOT']."/savedposts/".$post_id.".txt");
$cct = 0;
$contexttext = array();
for ($i = 0; $i < strlen($saved_content); $i++) {
    if (substr($saved_content, $i, 9) == "[Context]") {
        $i = $i + 9;
        while (substr($saved_content, $i, 10) !== "[/Context]") {
            $contexttext[$cct] .= substr($saved_content, $i, 1);
            $i++;
        } 
    $cct++;
    }
}

错误在这一行

$contexttext[$cct] .= substr($saved_content, $i, 1);

如何解决通知。

1 个答案:

答案 0 :(得分:1)

要复制这个:

$cct = 0;
$contexttext = array();
$contexttext[$cct] .= 'test';

此处'test'将附加到$contexttext[$cct],其评估结果为:$contexttext[0]。但是[0]还没有任何内容,因为它是一个空数组,我们无法附加到不存在的内容

但是,如果你这样做了:

$cct = 0;
$contexttext = array();
$contexttext[$cct] = '';
$contexttext[$cct] .= 'test';

然后通知会消失,因为现在当我们附加一个字符串时,我们有一些东西要附加到