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

ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

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

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

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

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

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

ホットトピック









セッションハイジャックは、次の手順で達成できます。1。セッションIDを取得します。2。セッションIDを使用します。3。セッションをアクティブに保ちます。 PHPでのセッションハイジャックを防ぐための方法には次のものが含まれます。1。セッション_regenerate_id()関数を使用して、セッションIDを再生します。2。データベースを介してストアセッションデータを3。

JWTは、JSONに基づくオープン標準であり、主にアイデンティティ認証と情報交換のために、当事者間で情報を安全に送信するために使用されます。 1。JWTは、ヘッダー、ペイロード、署名の3つの部分で構成されています。 2。JWTの実用的な原則には、JWTの生成、JWTの検証、ペイロードの解析という3つのステップが含まれます。 3. PHPでの認証にJWTを使用する場合、JWTを生成および検証でき、ユーザーの役割と許可情報を高度な使用に含めることができます。 4.一般的なエラーには、署名検証障害、トークンの有効期限、およびペイロードが大きくなります。デバッグスキルには、デバッグツールの使用とロギングが含まれます。 5.パフォーマンスの最適化とベストプラクティスには、適切な署名アルゴリズムの使用、有効期間を合理的に設定することが含まれます。

PHP開発における固体原理の適用には、次のものが含まれます。1。単一責任原則(SRP):各クラスは1つの機能のみを担当します。 2。オープンおよびクローズ原理(OCP):変更は、変更ではなく拡張によって達成されます。 3。Lischの代替原則(LSP):サブクラスは、プログラムの精度に影響を与えることなく、基本クラスを置き換えることができます。 4。インターフェイス分離原理(ISP):依存関係や未使用の方法を避けるために、細粒インターフェイスを使用します。 5。依存関係の反転原理(DIP):高レベルのモジュールと低レベルのモジュールは抽象化に依存し、依存関係噴射を通じて実装されます。

システムが再起動した後、UnixSocketの権限を自動的に設定する方法。システムが再起動するたびに、UnixSocketの許可を変更するために次のコマンドを実行する必要があります:sudo ...

phpstormでCLIモードをデバッグする方法は? PHPStormで開発するときは、PHPをコマンドラインインターフェイス(CLI)モードでデバッグする必要がある場合があります。

静的結合(静的::) PHPで後期静的結合(LSB)を実装し、クラスを定義するのではなく、静的コンテキストで呼び出しクラスを参照できるようにします。 1)解析プロセスは実行時に実行されます。2)継承関係のコールクラスを検索します。3)パフォーマンスオーバーヘッドをもたらす可能性があります。

PHP開発でPHPのCurlライブラリを使用してJSONデータを送信すると、外部APIと対話する必要があることがよくあります。一般的な方法の1つは、Curlライブラリを使用して投稿を送信することです。
