ホームページ  >  記事  >  バックエンド開発  >  PHP_PHP チュートリアルで変数や関数の前に static キーワードを追加する場合の違い

PHP_PHP チュートリアルで変数や関数の前に static キーワードを追加する場合の違い

WBOY
WBOYオリジナル
2016-07-13 10:31:061077ブラウズ

静的グローバル変数と通常のグローバル変数、静的ローカル変数と通常のローカル変数、静的関数と通常の関数の違いは何ですか?次の記事で一つずつ答えていきます。

(1) グローバル変数(外部変数)の記述の前に static を付けて静的グローバル変数を構成します。グローバル変数自体は静的格納メソッドであり、静的グローバル変数も当然静的格納メソッドです。どちらも保存方法に違いはありません。両者の違いは、非静的グローバル変数の有効範囲がソースプログラム全体であることです。ソースプログラムが複数のソースファイルで構成されている場合、非静的グローバル変数は各ソースファイルで有効になります。 静的グローバル変数はスコープを制限します。つまり、変数が定義されているソース ファイル内でのみ有効であり、同じソース プログラム内の他のソース ファイルでは使用できません。静的グローバル変数のスコープは 1 つのソース ファイルに限定され、そのソース ファイル内の関数でのみ共有できるため、他のソース ファイルでのエラーを回避できます。

(2) 上記の分析から、ローカル変数を静的変数に変更すると、その格納方法が変更され、その有効期間が変更されることがわかります。グローバル変数を静的変数に変更すると、そのスコープが変更され、その使用範囲が制限されます。

(3) static関数のスコープは、このファイル内のみ通常の関数と異なります。現在のソースファイル内でのみ使用される関数は内部関数(static)として宣言し、内部関数を現在のソースファイル内に記述して定義する必要があります。現在のソースファイル外で使用できる関数はヘッダファイルに記述し、その関数を使用するソースファイルにはこのヘッダファイルをインクルードする必要があります。

要約:

静的グローバル変数と通常のグローバル変数の違いは何ですか?

静的グローバル変数は、他のファイル単位で参照されないように 1 回だけ初期化されます。
静的ローカル変数と通常のローカル変数の違いは何ですか?

静的ローカル変数は 1 回だけ初期化され、次回は前の結果値に基づきます


静的関数と通常の関数の違いは何ですか?

静的関数はメモリ内にコピーを 1 つだけ保持し、通常の関数は呼び出しごとにコピーを保持します。と違い

PHPが引用符の前にバックスラッシュを追加する理由とPHPでバックスラッシュを削除する方法PHPの魔法の引用符を閉じる3つの方法

$this、static、final、const、self、およびPHPのその他のキーワード
  • PHP関数memory_get_usageを使用して現在のPHPメモリ消費量を取得し、プログラムのパフォーマンスを最適化します
  • php文字列置換関数str_replaceはpreg_replaceより高速です
  • smartyテンプレートでのphp関数の使用とsmartyテンプレートの1つの変数で複数の変数を使用する方法完全な概要関数の説明
  • PHP の文字列関数
  • PHP は、HTML Web ページのコードを圧縮して、ネットワーク データ送信量を削減し、スペース、タブ、コメント マークをクリアします
  • http://www.bkjia.com/PHPjc/764162.html
www.bkjia.com

tru​​e

技術記事静的グローバル変数と通常のグローバル変数、静的ローカル変数と通常のローカル変数、静的関数と通常の関数の違いは何ですか?次の記事で一つずつ答えていきます。 (1) グローバル変数 (外部...)
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。