我收到以下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);
如何解决通知。
答案 0 :(得分:1)
要复制这个:
$cct = 0;
$contexttext = array();
$contexttext[$cct] .= 'test';
此处'test'将附加到$contexttext[$cct]
,其评估结果为:$contexttext[0]
。但是[0]
还没有任何内容,因为它是一个空数组,我们无法附加到不存在的内容
但是,如果你这样做了:
$cct = 0;
$contexttext = array();
$contexttext[$cct] = '';
$contexttext[$cct] .= 'test';
然后通知会消失,因为现在当我们附加一个字符串时,我们有一些东西要附加到