この記事では主に PHP 演算子とプロセスの分析を共有し、誰もが PHP 演算子とプロセスをより明確に理解できるようにしたいと考えています。
比較演算子
オペランド 1 の型 | オペランド 2 の型 | 結果 |
---|---|---|
null または string | string | Convert N ULL から ""、数値または語彙の比較を実行します |
bool または null | その他の型 | bool、FALSE |
object | object | 組み込みクラスは独自の比較を定義できますが、異なるクラスは比較できません。同じクラスと配列は同じ方法でプロパティを比較します (PHP 4 の場合)。PHP 5 には独自の命令があります |
string, resource または数値 | 文字列、リソース または数値 | 通常の計算で比較して、文字列とリソースを数値に変換します |
array | array | オペランド 1 のキーがオペランド 2 に存在しない場合、メンバーの少ない配列の方が小さくなります。その場合、配列は比較できませんそれ以外の場合は、1 つずつ比較されます (以下の例を参照) |
オブジェクト | 他の型 | オブジェクトは常に大きくなります |
配列 | 他の型 | 配列は常に大きくなります |
三項演算子
Expression (expr1) ? (expr2) : (expr3) expr1 が TRUE と評価されたときの値は expr2 で、expr1 が FALSE と評価されたときの値は expr3 です。
PHP 5.3以降、三項演算子の中間部分を省略できるようになりました。式 expr1 ?: expr3 は、expr1 が TRUE と評価される場合は expr1 を返し、それ以外の場合は expr3 を返します。
エラー制御演算子
PHP はエラー制御演算子 @ をサポートしています。 PHP 式の前に配置すると、式によって生成されるエラー メッセージは無視されます。
set_error_handler() でカスタム エラー処理関数を設定した場合でも、その関数は呼び出されますが、このエラー処理関数は error_reporting() を呼び出すことができます (呼び出す必要があります)。この関数には @は0を返します。
有効化された場合 track_errors 機能では、式によって生成されたエラー情報は変数に格納されます。この変数はエラーが発生するたびに上書きされるため、使用する場合はできるだけ早く確認してください。
<?php /* Intentional file error */ $my_file = @file ('non_existent_file') or die ("Failed opening file: error was '$php_errormsg'"); // this works for any expression, not just functions: $value = @$cache[$key]; // will not issue a notice if the index $key doesn't exist. ?>
注: @ 演算子は式にのみ有効です。初心者向けの簡単なルールは、値をどこかから取得できる場合は、その値の前に @ 演算子を付けることです。たとえば、変数や関数に入れたり、インクルードしたりできます。 呼び出しや定数の前など。関数またはクラスの定義の前に配置したり、if やクラスなどの条件構造で使用したりすることはできません。 フォーリーチなど
include
ディレクトリが指定されていない場合 (ファイル名のみ)、インクルードされたファイルは、パラメータで指定されたパスに従って最初に検索されます。 include_path で指定したディレクトリ内を検索します。ファイルが include_path の下に見つからない場合、include は最終的に、呼び出し元のスクリプト ファイルが配置されているディレクトリと現在の作業ディレクトリを検索します。 include コンストラクトは、ファイルが最後に見つからない場合に警告を発行します。これは、致命的なエラーを発行する require とは異なります。
ファイルがインクルードされると、そのファイルに含まれるコードはインクルード行の変数スコープを継承します。その時点から、呼び出し側ファイルのその行で使用可能な変数は、呼び出されたファイルでも使用できるようになります。ただし、インクルード ファイルで定義されたすべての関数とクラスにはグローバル スコープがあります。
関連する推奨事項:
以上がPHP オペレーターとプロセス分析の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。