私は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か何かに、今は失敗しますが、何でも)。