我正在做一些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;
}
我该怎么做才能在开发模式下工作。我需要error_reporting(E_ALL);
提前致谢。
对于空字符串,你不能使用$sentence[0]
,这会引起你的通知。
您可以添加!empty($sentence)
以检查它是否为空。
您正在创建$ sentence作为字符串($ sentence =“Hello World”;)然后将其称为数组($ sentence [0])。那是不允许的。它过去在后台静默工作,并使用该错误将变量更改为数组,但从PHP 7.1开始,它将完全失败。作为E_NOTICE错误出现(实际上应该升级到E_DEPRECATED或者现在失败的东西,但无论如何)。