PHP リファレンスは、1 つの変数の内容に別の名前でアクセスできるシンボル テーブルのエイリアスです。明示的に定義された参照変数の前にアンパサンド (&) 記号を付ける必要があります。 PHP 参照の機能は、Windows のショートカットのアナロジーを使用して説明できます。 PHP 参照は、PHP プログラミングでさまざまな方法で定義できます。
無料ソフトウェア開発コースを始めましょう
Web 開発、プログラミング言語、ソフトウェア テスト、その他
PHP 参照を作成する方法
PHP 参照を作成するために主に使用される方法については、以下で説明します。
1. 「グローバル」というキーワードを使用する
メソッド内で、参照される変数の前にキーワード「global」を使用して参照を作成できます。参照をグローバル変数として宣言すると、その変数が $GLOBAL 配列に追加され、ユーザーは関数のスコープ内でグローバル変数にアクセスできるようになります。基本的に、PHP 参照をグローバル変数として宣言して定義するには、次の 2 つの方法があります。
function Function_name() { global $globalVar; } OR function Function_name() { $globalVar =& $GLOBALS["globalVar"]; }
例
以下のコード スニペットは、ローカル スコープとグローバル スコープに関して、同じ変数の値の違いを示すように設計されています。
<?php function functionname() { $inputvar = "within function scope"; echo '$inputvar in global scope: ' . $GLOBALS["inputvar"] . "\n"; echo '$inputvar in current scope: ' . $inputvar . "\n"; } $inputvar = "Outside function scope"; $othervar= $GLOBALS["inputvar"]; //Creating inputvar in GLOBAL array functionname(); echo '$othervar : ' . $othervar . "\n"; ?>
出力
Othervar は、GLOBAL 配列からの inputvar の参照セットです。関数のローカル スコープで定義された inputvar 変数にはバインドされません。
2. $this 変数の使用
‘$this’ 変数は関数のオブジェクトへのデフォルト参照であり、そのうち $this 変数が参照されます。
例
以下のコードは、選択したクラス オブジェクトから任意のクラス プロパティの値にアクセスするための $this 変数の使用法を示しています。
<?php class Thisclass { var $clsproperty = 300; function classmethod() { $this->clsproperty = 500; // $this is a reference to the object } } $clsObject = new Thisclass(); $clsObject->classmethod(); echo "The displayed value is: ". $clsObject->clsproperty; //display the value updated using $this property ?>
出力
clsproperty の値は、$this 変数を使用して設定された値に基づいて表示されます。
3.オブジェクトを渡す
PHP プログラミングにおいて、クラス オブジェクトに対して実行される割り当て、戻り、渡しなどの操作。操作は常に、オブジェクトのコピーではなくオブジェクトを参照して実行されます。
PHP オブジェクト参照を作成するための標準構文は次のとおりです。
class ClassName { //Body of the class } $classObj1 = new ClassName (); $classObj2= $classObj1;
ここで、classObj2 オブジェクトは、classObj1 に含まれる同じコンテンツを参照しています。
例
以下のコード スニペットは、実際のオブジェクトの参照オブジェクトを作成し、そのプロパティにアクセスするように設計されています。
<?php class Costume { // Declaring the class properties public $name; public $color; // Declaring the class methods function set_name($name) { $this->name = $name; } function get_name() { return $this->name; } function set_color($color) { $this->color = $color; } function get_color() { return $this->color; } } //Creating the object $constume1 = new Costume(); $constume1->set_name('Superman'); $constume1->set_color('Blue and Red'); //Creating the object reference $constume2=$constume1; echo "Costume1 Name: " . $constume1->get_name(); echo "\n"; echo "Costume1 Color: " . $constume1->get_color(); echo "\n"; echo "\n"; echo "Costume2 Name: " . $constume2->get_name(); echo "\n"; echo "Costume2 Color: " . $constume2->get_color(); ?>
出力
参照オブジェクトのコスチューム 2 は、実際のオブジェクトのコスチューム 1 のプロパティ名と色に含まれる値と同じ値を参照します。
PHP プログラミングのさまざまな操作
PHP プログラミングでは、PHP 参照を使用してさまざまな操作が実行されます。主要な操作の一部については、以下のセッションで説明します:
1.参照渡し
関数がスコープ外で定義された変数を変更できるようにするには、値を参照によって関数に渡す必要があります。
例
以下のコード スニペットは、変数への参照を使用して、呼び出された関数のスコープ外で定義された変数の値を変更します。
<?php function Afunction(&$input) //passing the input argument by reference { $input*=10; } $outVar=5; echo "Before the function is called: ".$outVar; echo "\n"; Afunction($outVar); echo "After the function is called: ".$outVar; ?>
出力
変数 outvar の値は、関数 AFunction() によって変更されます。
2.参照を返す
この操作により、呼び出し関数は参照がバインドされる変数を見つけることができます。技術的な要件がある場合にのみ使用することをお勧めします。それ以外の場合、プログラムのパフォーマンスは向上しません。
例
以下のコード スニペットは、関数の親関数からの戻り値を、定義されたクラスの親クラスへの参照として渡すように設計されています。
<?php class parentclass { public $parentvar = "I am set at parent class"; public function &parentfunction() { return $this->parentvar; } } $parentobj = new parentclass; $newvar = &$parentobj->parentfunction(); echo $newvar; echo "\n"; $parentobj->parentvar= "I am set outside of the class"; echo $newvar; ?>
出力
3. PHP リファレンスの設定を解除
ユーザーはメソッド unset() を使用して、変数と参照の間のバインディングを解除できます。
例
以下のコード スニペットは、メソッド unset() を使用して、参照変数 firstinput を Secondinput からバインド解除する方法を示しています。
<?php $firstinput = "I am first input"; $secondinput =& $firstinput; echo "First input: ". $firstinput; echo"\n"; echo "Second input: " . $secondinput; unset($firstinput); echo"\n"; echo"\n"; echo "After unsetting the reference: "; echo"\n"; $firstinput = "I am set to second input"; echo"\n"; echo "First input: ". $firstinput; echo"\n"; echo "Second input: " . $secondinput; ?>
出力
結論
PHP 参照は、PHP スクリプトに組み込まれている重要な機能です。 PHP 参照は、重複要素を作成するためにメモリを占有する「C」のように記述できるポインターではありません。むしろ、PHP 参照は、実際の変数からコンテンツを参照するための別のエイリアスにすぎません。 PHP のオブジェクトにオブジェクトのコピーが必要な場合は、キーワード「clone」を使用してコピーできます。
以上がPHP リファレンスの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

PHPは、特にWeb開発の分野で、最新のプログラミングで強力で広く使用されているツールのままです。 1)PHPは使いやすく、データベースとシームレスに統合されており、多くの開発者にとって最初の選択肢です。 2)動的コンテンツ生成とオブジェクト指向プログラミングをサポートし、Webサイトを迅速に作成および保守するのに適しています。 3)PHPのパフォーマンスは、データベースクエリをキャッシュおよび最適化することで改善でき、その広範なコミュニティと豊富なエコシステムにより、今日のテクノロジースタックでは依然として重要になります。

PHPでは、弱い参照クラスを通じて弱い参照が実装され、ガベージコレクターがオブジェクトの回収を妨げません。弱い参照は、キャッシュシステムやイベントリスナーなどのシナリオに適しています。オブジェクトの生存を保証することはできず、ごみ収集が遅れる可能性があることに注意する必要があります。

\ _ \ _ Invokeメソッドを使用すると、オブジェクトを関数のように呼び出すことができます。 1。オブジェクトを呼び出すことができるように\ _ \ _呼び出しメソッドを定義します。 2。$ obj(...)構文を使用すると、PHPは\ _ \ _ Invokeメソッドを実行します。 3。ロギングや計算機、コードの柔軟性の向上、読みやすさなどのシナリオに適しています。

繊維はPhp8.1で導入され、同時処理機能が改善されました。 1)繊維は、コルーチンと同様の軽量の並行性モデルです。 2)開発者がタスクの実行フローを手動で制御できるようにし、I/O集約型タスクの処理に適しています。 3)繊維を使用すると、より効率的で応答性の高いコードを書き込むことができます。

PHPコミュニティは、開発者の成長を支援するための豊富なリソースとサポートを提供します。 1)リソースには、公式のドキュメント、チュートリアル、ブログ、LaravelやSymfonyなどのオープンソースプロジェクトが含まれます。 2)StackOverFlow、Reddit、およびSlackチャネルを通じてサポートを取得できます。 3)開発動向は、RFCに従うことで学ぶことができます。 4)コミュニティへの統合は、積極的な参加、コード共有への貢献、および学習共有への貢献を通じて達成できます。

PHP and Python each have their own advantages, and the choice should be based on project requirements. 1.PHPは、シンプルな構文と高い実行効率を備えたWeb開発に適しています。 2。Pythonは、簡潔な構文とリッチライブラリを備えたデータサイエンスと機械学習に適しています。

PHPは死にかけていませんが、常に適応して進化しています。 1)PHPは、1994年以来、新しいテクノロジーの傾向に適応するために複数のバージョンの反復を受けています。 2)現在、電子商取引、コンテンツ管理システム、その他の分野で広く使用されています。 3)PHP8は、パフォーマンスと近代化を改善するために、JITコンパイラおよびその他の機能を導入します。 4)Opcacheを使用してPSR-12標準に従って、パフォーマンスとコードの品質を最適化します。

PHPの将来は、新しいテクノロジーの傾向に適応し、革新的な機能を導入することで達成されます。1)クラウドコンピューティング、コンテナ化、マイクロサービスアーキテクチャに適応し、DockerとKubernetesをサポートします。 2)パフォーマンスとデータ処理の効率を改善するために、JITコンパイラと列挙タイプを導入します。 3)パフォーマンスを継続的に最適化し、ベストプラクティスを促進します。


ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

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

人気の記事

ホットツール

MinGW - Minimalist GNU for Windows
このプロジェクトは osdn.net/projects/mingw に移行中です。引き続きそこでフォローしていただけます。 MinGW: GNU Compiler Collection (GCC) のネイティブ Windows ポートであり、ネイティブ Windows アプリケーションを構築するための自由に配布可能なインポート ライブラリとヘッダー ファイルであり、C99 機能をサポートする MSVC ランタイムの拡張機能が含まれています。すべての MinGW ソフトウェアは 64 ビット Windows プラットフォームで実行できます。

SAP NetWeaver Server Adapter for Eclipse
Eclipse を SAP NetWeaver アプリケーション サーバーと統合します。

メモ帳++7.3.1
使いやすく無料のコードエディター

Dreamweaver Mac版
ビジュアル Web 開発ツール

SublimeText3 Linux 新バージョン
SublimeText3 Linux 最新バージョン
