PHP 言語の構造と関数の違い

巴扎黑
巴扎黑オリジナル
2016-11-23 13:28:431531ブラウズ

一部の 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


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