[PHP-users 22888]Re: デフォルト引数値とリファレンス渡しの引数

yoshiyuki fukutome tome @ nekomyu.org
2004年 7月 31日 (土) 22:22:27 JST


ふくとめです。

On 07/31, 中村 wrote:
> さっそく質問なのですが
> PHPでデフォルト引数値とリファレンス渡しの引数を持つ
> 関数を定義しようと思っています、
> イメージ的にはこんな感じ
> 
> function func(&$para = 'def') {
> 
> ですが、これでは、
> 
> Parse error: parse error, unexpected '=', expecting ')'
> 
> のようなエラーが出てしまいます、
> このような引数を持つ関数を定義することは可能なのでしょうか?

PHP のリファレンス渡しでは無理のようです。

  function func(&$_para){
      var_dump($_para);
  }

という関数があるときに、

  $value = 100;
  func($value);

は可能で、

  func(100);

はエラーが返ってきます。変数をリファレンスで渡すのであって、
数値や文字列などの、どこにも格納されていないものをリファレ
ンスとして扱うことはできないのだと思います。

ゆえに、デフォルト引数もリファレンスの対象とならない為、そ
のように扱うことはできないと思われます。

では、
-- 
fukutome yoshiyuki
tome @ nekomyu.org


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