ホームページ バックエンド開発 PHPチュートリアル php_PHP チュートリアルでの静的静的クラスと静的静的変数の使用法の違い

php_PHP チュートリアルでの静的静的クラスと静的静的変数の使用法の違い

Jul 20, 2016 am 11:10 AM
php static そして について 違い 変数 意味 物体 はい 使用法 親切 静的

静的とは、静的オブジェクトまたは静的変数を定義することです。この記事の関連する例を読んだ後、静的で定義された変数またはクラス メソッドの特性がわかります。

1. オブジェクト $object = new Class() を作成し、変数/メソッドがアクセス可能な場合は、「->」を使用して $object->attribute/function を呼び出します。
2. 静的か非静的かに関係なく、クラスのメソッド/変数: class::attribute/function を直接呼び出します。ただし、前提条件があります:
A. 変数の場合、その変数にアクセスできる必要があります。
B. メソッドの場合、アクセス可能であることに加えて、次の条件も満たす必要があります。
b1) 静的メソッドの場合、特別な条件はありません。
b2) 非静的メソッドの場合。 、メソッド内で $this が使用されない、つまり非静的変数/メソッドが呼び出されないように変更する必要があります。もちろん、静的変数/メソッドを呼び出すことには問題はありません。

次に、$object->… の使用と class::…: の使用の違いを見てみましょう。 $object->… を使用する場合、オブジェクトを作成するためにコンストラクターを実行する必要があります
2。 . class:: … を使用する 静的メソッド/変数を呼び出す場合、オブジェクトを作成するためにコンストラクターを実行する必要はありません。
3. 非静的メソッド/変数を呼び出す場合は、オブジェクトを作成するコンストラクター。

すると、2と3は同じなので、静的メソッド/変数の存在意義は何でしょうか?

static static
クラス メンバーまたはメソッドを static として宣言すると、クラスをインスタンス化せずに直接アクセスできます。オブジェクトを介して静的メンバー (静的メソッドを除く) にアクセスすることはできません。静的メンバーはクラスに属し、どのオブジェクト インスタンスにも属しませんが、クラスのオブジェクト インスタンスは共有できます。

例:

コードは次のとおりですコードをコピーします中国私は中国人です
Class Person{
// 静的メンバーのプロパティを定義します
Public static $country = "China";
// 静的メンバーのメソッドを定義します
Public static Function Mycountry () {
// 静的メンバーのプロパティへの内部アクセス © echo "I am" .Self :: $ country "People & lt;" /& gt; "; ERSON {
functionstudy() {
echo "I am".parent::$country."人
";
}
}
// メンバー属性値を出力
echo Person::$country."< ;br />"; // 出力: China
$p1 = new Person();
//echo $p1->country; // 書き方が間違っています
// static にアクセスしますmember method
Person::my Country() ; // 出力: 私は中国人です
// 静的メソッドにはオブジェクトを通じてアクセスすることもできます:
$p1->my Country();

// メンバー属性値を出力しますサブクラス
echo Student::$country."
"; // 出力: 中国
$t1 = new Student();
$t1->study(); // 出力: 私は中国人です

?>





Run この例の出力は次のとおりです:

私は中国人です

中国

私は中国人です

概要
クラス内の静的メンバー属性またはメソッドにアクセスするには、self を使用します:: ($slef ではないことに注意してください)、例:



コードは次のとおりです

コードをコピーslef:: $country
slef:: my Country()

親クラスにアクセスするにはサブクラス内の静的メンバーのプロパティまたはメソッドを使用するには、parent:: ($parent ではないことに注意してください) を使用します。例:
コードは次のとおりです

コードをコピー parent:: $country本当
parent:: my Country ()

静的メンバーのプロパティとメソッドへの外部アクセスは、クラス名/サブクラス名:: です。例:

コードは次のとおりです コードをコピー
person::$country
person::my Country()
Student:: $country

ただし、静的メソッドには通常のオブジェクトを通じてアクセスすることもできます。


静的変数の宣言例

コードは以下の通りです コードをコピー

function foo(){
static $int = 0;// 正しい
static $int = 1+2 ; // (式なので) 間違っています
static $int = sqrt(121) // (これも式なので)

$int++;
echo $int;
}
? >

静的変数の使用例

コードは以下の通りです コードをコピー
function Test()
{
static $w3sky = 0;
エコー$w3sky;
$w3sky++;
}
?>

これで、Test() 関数が呼び出されるたびに、$w3sky の値が出力され、1 ずつ増加します。


静的変数は、再帰関数を処理する方法も提供します。再帰関数は、それ自体を呼び出す関数です。再帰関数を作成するときは、無限に再帰する可能性があるので注意してください。再帰を終了する適切な方法があることを確認する必要があります。静的変数 $count を使用して、再帰的に 10 までカウントするこの単純な関数を見てみましょう。 静的変数 $count を使用して、いつ停止するかを決定します。

Function Test()

{ static $count = 0; $count++; if ($count Test(); }
echo $count;
$count --;

}
?> ;




注: 静的変数は、上の例に示すように宣言できます。これを宣言内の式の結果に代入すると、解析エラーが発生します。

PHP の静的変数の使用方法の詳細



http://www.bkjia.com/PHPjc/444700.html

www.bkjia.com

http://www.bkjia.com/PHPjc/444700.html
技術記事

静的とは、静的オブジェクトまたは静的変数を定義することです。この記事の関連する例を読んだ後、静的で定義された変数またはクラス メソッドの特性がわかります。 1. オブジェクト $... を作成します
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

Ubuntu および Debian 用の PHP 8.4 インストールおよびアップグレード ガイド Ubuntu および Debian 用の PHP 8.4 インストールおよびアップグレード ガイド Dec 24, 2024 pm 04:42 PM

PHP 8.4 では、いくつかの新機能、セキュリティの改善、パフォーマンスの改善が行われ、かなりの量の機能の非推奨と削除が行われています。 このガイドでは、Ubuntu、Debian、またはその派生版に PHP 8.4 をインストールする方法、または PHP 8.4 にアップグレードする方法について説明します。

PHP 開発用に Visual Studio Code (VS Code) をセットアップする方法 PHP 開発用に Visual Studio Code (VS Code) をセットアップする方法 Dec 20, 2024 am 11:31 AM

Visual Studio Code (VS Code とも呼ばれる) は、すべての主要なオペレーティング システムで利用できる無料のソース コード エディター (統合開発環境 (IDE)) です。 多くのプログラミング言語の拡張機能の大規模なコレクションを備えた VS Code は、

Deepseek R1とV3バージョンの違いは何ですか Deepseek R1とV3バージョンの違いは何ですか Feb 19, 2025 pm 03:24 PM

DeepSeek:R1とV3バージョンの詳細な比較は、最高のAIアシスタントを選択するのに役立ちます! Deepseekにはすでに数千万人のユーザーがいて、そのAIの対話機能は好評を博しています。しかし、R1およびV3バージョンに面しているときに混乱していますか?この記事では、2つの違いを詳細に説明して、最適なバージョンを選択するのに役立ちます。 DeepSeeKR1とV3バージョンのコアの違い:V3バージョンの設計目標は、複雑な問題推論、ディープロジック分析、多機能大型言語モデルに焦点を当てており、スケーラビリティと効率アーキテクチャ、パラメーター強化学習最適化アーキテクチャ、パラメータースケール1.5に焦点を当てています。 10億から700億人のMOEハイブリッドの専門家アーキテクチャ、合計パラメーターは6710億にもなり、各トークンは370億を活性化します

DeepSeek使用のためのFAQの概要 DeepSeek使用のためのFAQの概要 Feb 19, 2025 pm 03:45 PM

Deepseekai ToolユーザーガイドとFAQ Deepseekは、強力なAIインテリジェントツールです。 FAQ:異なるアクセス方法の違い:Webバージョン、アプリバージョン、API呼び出しの間に機能に違いはありません。アプリは、Webバージョンのラッパーにすぎません。ローカル展開は蒸留モデルを使用します。これは、DeepSeek-R1のフルバージョンよりもわずかに劣っていますが、32ビットモデルには理論的には90%のフルバージョン機能があります。居酒屋とは何ですか? Sillytavernは、APIまたはOllamaを介してAIモデルを呼び出す必要があるフロントエンドインターフェイスです。壊れた制限とは何ですか

ビットコインには株式がありますか? ビットコインには株式がありますか? Mar 03, 2025 pm 06:42 PM

暗号通貨市場は活況を呈しており、リーダーとしてのビットコインは多くの投資家の注目を集めています。多くの人が好奇心が強い:ビットコインには在庫がありますか?答えはノーです。ビットコイン自体は株式ではありませんが、投資家はさまざまなチャネルを通じてビットコイン関連の資産に間接的に投資することができます。これについては、この記事で詳しく説明します。ビットコイン投資の代替品:ビットコインに直接投資する代わりに、投資家はビットコイン市場に参加できます:ビットコインETF:これは、資産ポートフォリオにビットコインまたはビットコイン先物契約が含まれている株式取引市場で取引されています。これは、ビットコインを直接保持することなく、在庫投資に慣れている投資家にとって比較的便利なオプションです。ビットコインマイニングカンパニー株:これらの企業のビジネスはビットコインマイニングとビットコインの保有です

PHPでHTML/XMLを解析および処理するにはどうすればよいですか? PHPでHTML/XMLを解析および処理するにはどうすればよいですか? Feb 07, 2025 am 11:57 AM

このチュートリアルでは、PHPを使用してXMLドキュメントを効率的に処理する方法を示しています。 XML(拡張可能なマークアップ言語)は、人間の読みやすさとマシン解析の両方に合わせて設計された多用途のテキストベースのマークアップ言語です。一般的にデータストレージに使用されます

母音を文字列にカウントするPHPプログラム 母音を文字列にカウントするPHPプログラム Feb 07, 2025 pm 12:12 PM

文字列は、文字、数字、シンボルを含む一連の文字です。このチュートリアルでは、さまざまな方法を使用してPHPの特定の文字列内の母音の数を計算する方法を学びます。英語の母音は、a、e、i、o、u、そしてそれらは大文字または小文字である可能性があります。 母音とは何ですか? 母音は、特定の発音を表すアルファベットのある文字です。大文字と小文字など、英語には5つの母音があります。 a、e、i、o、u 例1 入力:string = "tutorialspoint" 出力:6 説明する 文字列「TutorialSpoint」の母音は、u、o、i、a、o、iです。合計で6元があります

市場前取引とアフターマーケット取引の違いは何ですか?市場前と市場外の取引の違いの詳細な説明 市場前取引とアフターマーケット取引の違いは何ですか?市場前と市場外の取引の違いの詳細な説明 Mar 03, 2025 pm 11:54 PM

従来の金融市場では、市場前および市場外の取引とは、通常の取引期間以外の取引活動を指します。暗号通貨市場は24時間取引されていますが、Bitgetのようなトレーディングプラットフォームは、同様の機能、特に株式と暗号通貨を同時に取引する包括的なプラットフォームも提供しています。この記事では、市場前と市場の取引の違いを明確にし、通貨価格への影響を調査します。市場前取引とアフターマーケット取引の4つの大きな違い:市場前取引とアフターマーケット取引と通常の取引期間の主な違いは、取引時間、流動性、価格変動、取引量:取引時間:取引時間:公式取引が開始される前に行われる4つの側面にあります。流動性:営業時間前後の取引の流動性は低く、トレーダーはほとんどありません。

See all articles