Home :: International :: Manuals :: Howto :: FAQ :: Man Pages :: Email Login

 
 

 

リファレンス渡し

リファレンスにより関数に変数を渡すことが可能です。この場合、関数内 でその引数を修正可能になります。構文は次のようになります。

<?php
function foo (&$var) {
    
$var++;
}

$a=5;
foo ($a);
// $a はここでは 6 です
?>

関数コールの際には、リファレンス記号がないことに注意して下さい。関 数定義にのみリファレンス記号があります。リファレンスで正しく引数を 渡すには、関数定義のみで十分です。

次のものはリファレンスで渡すことが可能です。

  • 変数、すなわち、foo($a)

  • new 命令、すなわち、foo(new foobar())

  • 関数から返されるリファレンスは、次のようになります。

    <?php
    function &bar()
    {
       
    $a = 5;
       return
    $a;
    }
    foo(bar());
    ?>

    リファレンスによる返 り値 に関する説明も参照下さい。

他の式は、結果が未定義となるため、リファレンスで渡すべきではありま せん。例えば、リファレンスで渡す次の例は、無効です。

<?php
function bar() // & がないことに注意
{
        
$a = 5;
        return
$a;
}
foo(bar());

foo($a = 5) // 式、変数ではない
foo(5) // 定数、変数ではない
?>

以上の説明は、PHP 4.0.4 以降用です。

 
 
 
 
Google
  Web Linuxinfor   
 

Home :: Copyright :: Privacy :: Credits :: Get a free Linuxinfor Email Account

Document on this page is part of "PHP マニュアル". See Index Page for more info about Authorship and Copyright.

1999-2009 Linuxinfor.com. No rights reserved.