PHP での「空の値からのデフォルト オブジェクトの作成」エラーの処理
PHP バージョン >= 5.4 では、エラー「」が発生する可能性があります。初期化されていないオブジェクトのプロパティにアクセスしようとすると、空の値からデフォルト オブジェクトを作成します。このエラーは、参照された変数が null であるか、オブジェクトではないことを示します。
推奨される解決策:
この問題を解決するには、変数を stdClass のインスタンスとして宣言します。グローバル名前空間内のオブジェクトにアクセスする前に、プロパティ:
$res = new \stdClass(); $res->success = false;
説明:
PHP = 5.4 で error_reporting が E_WARNING に設定されている場合、PHPオブジェクト操作を厳密に強制します。 null または非オブジェクト変数のプロパティにアクセスしようとすると、エラーが発生します。変数を stdClass オブジェクトとして宣言すると、変数がオブジェクト インスタンスであることが保証され、プロパティを割り当てることができます。
代替アプローチ:
または、次の方法を使用することもできます。このエラーを回避するアプローチ:
if (!isset($res) || !is_object($res)) { $res = new \stdClass(); }
$res = (object) ['success' => false];
以上がPHP の「空の値からデフォルト オブジェクトを作成しています」エラーを解決する方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。