【问题标题】:PHP Notice: Undefined offset: 0PHP 注意:未定义的偏移量:0
【发布时间】:2014-08-19 22:04:23
【问题描述】:

我收到以下 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);

如何修正通知。

【问题讨论】:

    标签: php


    【解决方案1】:

    复制这个:

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

    这里的“测试”被附加到$contexttext[$cct],其计算结果为:$contexttext[0]。但是[0] 还没有任何东西,因为它是一个空数组,我们不能追加到不存在的东西上

    如果你这样做了:

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

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

    【讨论】:

    • 它最有可能是正确答案,但无论出于何种原因,除非我添加 $context = array('0' => '');
    猜你喜欢
    • 1970-01-01
    • 2012-02-08
    • 2011-09-26
    • 1970-01-01
    • 2019-01-14
    • 2023-03-27
    • 1970-01-01
    • 2023-03-13
    相关资源
    最近更新 更多