PHP引用符の使用例&_PHPチュートリアル
PHPのリファレンスは、変数、関数、オブジェクトなどの前に&記号を追加することです。 PHP での引用とは、異なる名前が同じ変数の内容にアクセスすることを意味します。 C言語のポインタとは異なり、変数の内容がメモリ上に格納されるアドレスを格納します。
変数参照
PHP の参照では、2 つの変数を使用して同じコンテンツを指すことができます。
リーリー関数の参照渡し呼び出し
アドレスによる呼び出しの詳細については説明しません。コードは以下に示されています。
リーリーここでtest(1);を使用するとエラーが発生するので注意してください。
関数参照の戻り値
まずコードを見てください:
リーリーこのように、 $a=test(); が取得するものは実際には関数参照の戻りではなく、通常の関数呼び出しと何ら変わりません。理由は、PHP の規定です。 PHP では、 $a=&test(); によって取得されるものが関数の参照戻り値であると規定されています。参照リターンとは何かについては (PHP マニュアルには、参照をバインドする必要がある変数を見つけるために関数を使用する場合に参照リターンが使用されると記載されています)
上記の例を使用して説明します:
$a=test() を使用して関数を呼び出すと、関数の値が $a に代入されるだけであり、$a に対する変更は関数内の $b には影響しません。 $a=&test() を通じて関数を呼び出すと、その関数は $b を返す $b 変数のメモリ アドレスと、$a 変数のメモリ アドレスを同じ場所にポイントすることで、これと同等の効果が得られます。 ( $a=&b;) $a の値を変更すると $b の値も変更されるので、
を実行した後 リーリーその後、$bの値は5になります。
ここで静的変数を使用するのは、関数の参照戻り値を誰もが理解できるようにするためです。実際、関数の参照戻り値は主にオブジェクトで使用されます。
オブジェクトの参照
リーリーPHP5 では、オブジェクトのコピーは参照を通じて実装されます。上記の列では、$b=new a; $c=$b; は実際には $b=new a; と同等ですが、場合によっては参照によってオブジェクトを呼び出します。オブジェクトを作成したいのは、元のオブジェクトのコピーであり、元のオブジェクトへの変更がコピーに影響しないことを望みます。このような目的のために、PHP は __clone と呼ばれる特別なメソッドを定義します。
参照の役割: プログラムが比較的大きく、同じオブジェクトを参照する変数が多数あり、オブジェクトを使用した後に手動でクリアしたい場合は、個人的には "&" メソッドを使用してから $ を使用することをお勧めします。 var=null でクリアします。それ以外の場合は、php5 のデフォルトのメソッドを使用します。また、php5 で大きな配列を転送する場合は、メモリ領域を節約できるため、「&」メソッドを使用することをお勧めします。参照の設定を解除すると、変数名と変数の内容の間のバインドが解除されるだけです。これは、変数の内容が破壊されることを意味するものではありません。例:
リーリー
$b の設定は解除されず、$a のみが解除されます。global $var で変数を宣言すると、実際にはグローバル変数への参照が作成されます。それはこれを行うのと同じです:
リーリー
これは、たとえば、unset $var ではグローバル変数の設定が解除されないことを意味します。$this オブジェクトのメソッドでは、$this は常にそれを呼び出すオブジェクトへの参照になります。
PHP におけるアドレスのポインティング (ポインタに似た) 関数は、ユーザー自身によって実装されるのではなく、Zend コアによって実装されます。書き込み操作が発生すると、同じアドレス変数を指すか、オブジェクトはコピーされません。
わかりやすく言うと、次のコードがあるとします。
リーリー
実際、$a と $b は異なるメモリを占有するのではなく、この時点では同じメモリ アドレスを指します。上記のコードに次のコードを追加すると:
リーリー
$a と $b が指すメモリ内のデータは書き換える必要があるため、Zend コアはこの時点で $b 用の $a のデータ コピーを自動的に生成し、メモリの一部を再適用することを自動的に決定します。保管用に。

ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

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

人気の記事

ホットツール

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

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

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

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

ホットトピック









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

CakePHP は、PHP 用のオープンソース フレームワークです。これは、アプリケーションの開発、展開、保守をより簡単にすることを目的としています。 CakePHP は、強力かつ理解しやすい MVC のようなアーキテクチャに基づいています。モデル、ビュー、コントローラー

ファイルのアップロードを行うには、フォーム ヘルパーを使用します。ここではファイルアップロードの例を示します。

CakePHP へのログインは非常に簡単な作業です。使用する関数は 1 つだけです。 cronjob などのバックグラウンド プロセスのエラー、例外、ユーザー アクティビティ、ユーザーが実行したアクションをログに記録できます。 CakePHP でのデータのログ記録は簡単です。 log()関数が提供されています

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

CakePHP はオープンソースの MVC フレームワークです。これにより、アプリケーションの開発、展開、保守がはるかに簡単になります。 CakePHP には、最も一般的なタスクの過負荷を軽減するためのライブラリが多数あります。
