php报告未初始化字符串偏移量时出错:0

php报告未初始化字符串偏移量时出错:0,php,error-reporting,Php,Error Reporting,我正在用php做一件事,而不是调试模式。所以我就是我们 error_reporting(E_ALL); 但当我试图访问字符串的任何字符时,由于错误报告,它会给我错误 $sentence = "Hello World"; $sentence[0] //Uninitialized string offset: 0 编辑: public static function prepareSentence($sentence) { $sentence = trim($sentence);

我正在用php做一件事,而不是调试模式。所以我就是我们

error_reporting(E_ALL);
但当我试图访问字符串的任何字符时,由于错误报告,它会给我错误

$sentence = "Hello World"; 
$sentence[0]   //Uninitialized string offset: 0
编辑:

public static function prepareSentence($sentence)
{
    $sentence = trim($sentence);
    if ($sentence[0] == '"')  //Uninitialized string offset: 0 
        $sentence = substr($sentence, 1, strlen($sentence));

    if ($sentence[strlen($sentence) - 1] == '"')
        $sentence = substr($sentence, 0, -1);

    if ($sentence[0] == '"' || $sentence[strlen($sentence) - 1] == '"')
        return self::prepareSentence($sentence);
    return $sentence;
}
我应该如何做才能在开发模式下工作。我需要错误报告(全部)


提前感谢。

对于空字符串,您不能使用
$句子[0]
,这将导致您收到通知


您可以添加
!empty($SENTURE)
检查它是否为空。

您正在将$SENTURE创建为字符串($SENTURE=“Hello World”),然后将其作为数组调用($SENTURE[0])。 这是不允许的。 它过去在后台默默地工作,并将变量更改为数组,但在PHP7.1中它将完全失败。
这是一个E_NOTICE错误(实际上应该升级为E_DEPRECATED或其他什么,因为它现在失败了,但不管怎样)。

再多一点代码就好了。你以前用过这个句子变量吗?当然。我刚刚编辑了。运行正常:这不会返回任何错误。你能给出至少与本节相关的完整代码吗。就我所见,这很好,当我回显$语句时,它给出了正确的字符串。所以文件不是空的。有很多字符串块,但是由于方法的一些空格,出现了空字符串并给出了错误。这是我的错。我只是检查了一下,才意识到。tx.empty的问题是empty(“0”)也会返回true。@KeVin编程时0和empty是不同的,empty是缺少数据,而zero是有效值。