一部の PHP アプリケーションでは、isset() が strlen() の代わりに使用され、isset の方が strlen よりも高速に実行されるという比較をよく目にすると思います。 F 例: (if (isset ($ user)) {
// いくつかのことを実行します
}
その理由は、isset が言語構造であり、Strlen が関数であるためです。また、echo は関数ではなく言語構造です。
では、言語構造とは何でしょうか?関数とは何か違うのでしょうか?
1. 言語構造と関数とは
言語構造: PHP 言語のキーワードであり、ユーザーが定義したり、言語拡張機能やライブラリに追加したりすることはできません。存在しない変数と戻り値。
機能: コードブロックで構成されており、再利用できます。ソースコードの観点からは、Zend エンジンに基づいて実装されており、ext 拡張ライブラリの関数はこのように実装されています。
2. 言語構造が関数よりも速い理由は、PHP では関数が最初に PHP パーサー (Zend エンジン) によって言語構造に分解されるため、関数にはパーサーの層が 1 つ多いことがわかります。言語構造を解析します。こうすることで、どの言語構造が関数よりも高速であるかをよりよく理解できます。
3. 言語構造と関数の違い 言語構造は、対応する関数よりも高速です。言語キーワードであるため、再処理のリンクがありません。言語構造は構成項目 (php.ini) では使用できませんが、関数では使用できます。言語構造はコールバック関数として使用できません
4. 言語構造のリスト
echo()
print()
die()
isset()
unset()
include()、注意、 include_once() は関数
require() です。 require_once() は関数
array()
list()
empty()
であることに注意してください。