ホームページ >バックエンド開発 >PHPの問題 >phpのエラーレベルはどのくらいでしょうか?

phpのエラーレベルはどのくらいでしょうか?

青灯夜游
青灯夜游オリジナル
2020-04-25 17:21:102969ブラウズ

次の記事では、php エラー報告レベルについて説明します。一定の参考値があるので、困っている友達が参考になれば幸いです。

phpのエラーレベルはどのくらいでしょうか?

error_reporting()

は、PHP エラー報告レベルを設定し、現在のレベルを返すために使用されます。 (PHP 4、PHP 5)

関数は実行時に error_reporting ディレクティブを設定できます。

PHP には多くのエラー レベルがあります。スクリプトの実行時にこの関数を使用してレベルを設定します。

オプションのパラメータ レベルが設定されていない場合、error_reporting() は現在のエラー レポート レベルのみを返します。

パラメータ レベル

新しい error_reporting レベル。ビットマスクまたは名前付き定数を使用できます。

将来のバージョンとの互換性を確保するために、名前付き定数を使用することをお勧めします。エラー レベルの追加と整数値の範囲の増加により、古い整数ベースのエラー レベルは常に期待どおりに動作するとは限りません。

#レベルの可能な値 (php でのエラー報告レベル)

#共通: 合計約 15

15 はバイナリの 15 ビットに正確に対応します。 phpのエラーレベルはどのくらいでしょうか?

上の表のフィールドは静的ではないことに注意してください。PHP のバージョンが異なると値が異なる場合があります。詳細については、PHP の事前定義定数を参照してください。

上記のオプションの任意の数これらはすべて「OR」で接続できるため (OR または | を使用)、すべてのレベルの必要なエラーをすべて報告できます。

たとえば、次のコードはユーザー定義のエラーと警告をオフにし、特定の操作を実行した後、元のエラー レベルに戻ります:

例:

<?php
     error_reporting(0);                //禁用错误报告
     error_reporting(E_ERROR | E_WARNING | E_PARSE);//报告运行时错误
     error_reporting(E_ALL);            //报告所有错误
     error_reporting(E_ALL ^ E_NOTICE); //除E_NOTICE报告所有错误,是在php.ini的默认设置
     error_reporting(-1);               //报告所有 PHP 错误
     error_reporting(3);                //不报E_NOTICE
     error_reporting(11);               //报告所有错误
     ini_set(&#39;error_reporting&#39;, E_ALL); // 和 error_reporting(E_ALL); 一样
     error_reporting(E_ERROR | E_WARNING | E_PARSE | E_NOTICE);//表示php错误,警告,语法错误,提醒都返错。
?>

変換関係:

E_All: 10進数は30719、2進数に変換すると111011111111111

E_NOTICE: 10進数は8、2進数に変換すると1000

~ E_NOTICE : E_NOTICEを反転すると、0111

E_ALL & ~E_NOTICE:: E_ALLと~E_NOTICEをANDすると111011111110111となり、10進数に直すと30711

となることがわかります。 E_ALL すべてのエラーが表示されるわけではありません。12 番目のビットは 0 です。このビットの重みは 2 の 11 乗、つまり 2048 です。これは実際には E_STRICT の値であるため、E_ALL は E_STRICT を除くすべてのエラー レベルを表示します。

E_ALL & ~E_NOTICE はバイナリで右から左に見ることができます。4 番目と 12 番目のビットは 0、4 番目のビットの重みは 2 の 3 乗、つまり 8 です。これが値です。 E_NOTICE のエラーなので、 E_STRICT と E_NOTICE を除くすべてのエラーが表示されます。

さらに関連する知識については、

PHP 中国語 Web サイト

に注目してください。 !

以上がphpのエラーレベルはどのくらいでしょうか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。