一部のフレームワークでは、関数で &$arr 型の変数が使用されることがあります。オンラインで検索したところ、これは開発中にどのような状況で使用する必要があるのか、またその内容を知りたいと思っています。これを使用するデメリットは?
返信内容:元の値を変更する必要がある場合、たとえば、いくつかの値を出力する必要がある関数があります。
質問者は、php が 1 つの値しか返せないことを知っておく必要があります。もちろん、配列パッケージを使用することもできます
リーリー出力を見ることができます
リーリーもう 1 つの状況は、大きな配列が使用される場合、メモリのオーバーヘッドを節約するためにメモリのコピーを省略できることです
リーリー
このように、PHP はデータのコピーを 1 つだけ保存するだけで済みます。そのため、プログラミングの際には、メモリ リソースを節約するために、通常、大きな変数を参照によって渡す必要があります。PHP 関数のパラメーター呼び出しでは、デフォルトでオブジェクトが参照によって渡されます。
聞きたいことは
リーリーこんな使い方でいいの?
これは変数 $arr 自体を変更するために使用されます。関数は閉じた空間であるため、関数内で $arr を変更しても、外部の変数は変更されません。変更された変数を返すために
を使用したくない場合は、これを使用できます。
例えばreturn
この関数、戻り値はbool型であることがわかりますが、変更された配列を返すこともできます。
これは、& 参照記号を使用して行われます。 bool asort ( array &$array [, int $sort_flags = SORT_REGULAR ] )
配列によって渡されるデフォルト値はオブジェクトのデフォルト値とはまったく異なるためです。値を渡すとコピーが作成されますが、整数や浮動小数点とは異なり、配列には多くの内容があり、コピーによるオーバーヘッドが大きいため、通常は値を渡すことが強制されます。