1. ホーム
  2. php

[解決済み] php error reporting Uninitialized string offset: 0

2022-02-15 10:56:40

質問内容

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) を使用して、空であるかどうかをチェックします。