[PHP-users 19793]Re: 参照渡しについて

farita @ d9.dion.ne.jp farita @ d9.dion.ne.jp
2004年 1月 9日 (金) 01:08:26 JST


有田です。
山口さん、いしげさん、さっそくありがとうございます。
指摘された後あらためてPHPマニュアルを見ると、明快ですね。
すっきりしました。ありがとうございます。

---
farita @ d9.dion.ne.jp

On Fri, 09 Jan 2004 00:56:20 +0900, ISIGE, Akira wrote:
> いしげ です.
> 
> On 2004/01/09 0:40:51 JST,
> farita @ d9.dion.ne.jp wrote:
> 
>>  $dbを参照渡しで渡したい場合、次のどちらにするのが良いのでしょうか。
>>  その1.最初に&を付ける
>>  	db_query(&$db);
>>  その2.関数の方に&を付ける
>>  	function db_query(&$db){
> (引用を切り貼りしました)
> 
> 
> 「その1」の方は「call time pass by reference」と呼ばれ,
> 引数参照渡しとして書かれていない関数に強制的に参照渡しをする方式ですが,
> これは現在の PHP(4.3 から?)では php.ini の設定で
> allow_call_time_pass_reference = on としないと Warning が出る仕様に
> なっていると思います.
> 
> マニュアルでは,
>>  
>> http://www.php.net/manual/ja/configuration.directives.php#allow-call-time-pass-reference
> に書いてあります.
> 
> また,この機能は将来的に削除されるというアナウンスが 4.2 の頃にありました.
> 
> よって,PHP の推奨は「その2」の方式となると思います.
> 
> 
> --
> ISIGE, Akira


PHP-users メーリングリストの案内