php报告未初始化字符串偏移量时出错:0
我正在用php做一件事,而不是调试模式。所以我就是我们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);
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是有效值。