一部の PHP アプリケーションでは、isset() が strlen() の代わりに使用され、isset の方が strlen よりも高速に実行されるという比較をよく目にすると思います。 F 例: (if (isset ($ username [5])) {
// ユーザー名は少なくとも 6 文字の長さです。
}
その理由は、isset が言語構造であり、Strlen が関数であるためです。では、言語構造とは何でしょうか?関数とは何か違うのでしょうか?
1. 言語の構造と関数とは
言語構造: PHP 言語のキーワードであり、ユーザーが定義したり、言語拡張機能やライブラリに追加したりすることはできません。変数と戻り値を含めることも、含めることもできません。
機能: コードブロックで構成されており、再利用できます。
2. なぜ言語構造は関数よりも速いのでしょうか? その理由は、PHP では最初に関数が PHP パーサーによって言語構造に分解されるため、関数には言語構造よりも 1 つ多くのパーサー分析層があることがわかります。 。このようにして、どの言語構造が関数よりも高速か
をよりよく理解できます。
3. 言語構造と関数の違い
言語構造は、対応する関数よりも高速です
言語構造は、言語キーワードであるため、再処理する必要がありません
言語構造は構成項目 (php.ini) では無効にできませんが、関数では無効にすることができます。
off die()
isset() : 変数 n unset ()
include () にのみ使用され、include_once ()
require ()、request_once ()
array ()
lat にのみ使用されます。 ()
empty (): 変数
にのみ使用されます。次の状況では、isset() は TRUE を返します:$var = "";
$var = array();
$var = 0;
$var = false;
これまでのところ: null または値が割り当てられていない場合のみ、empty