我正在做一些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);
提前感谢。
答案 0 :(得分:23)
对于空字符串,您不能使用$sentence[0]
,这会引起您的通知。
您可以添加!empty($sentence)
以检查它是否为空。
答案 1 :(得分:0)
您正在将$ sentence创建为字符串($ sentence =“ Hello World”;),然后将其作为数组调用($ sentence [0])。 不再允许。 它曾经在后台静默运行,并为您将变量更改为数组,但出现该错误,但是从PHP 7.1开始,它将完全失败。 以E_NOTICE错误的形式出现(实际上应该升级为E_DEPRECATED或类似的东西,因为它现在失败了,但无论如何)。