phpによる参照渡しをしたケースの実行結果


[php]< ?php
//******************************************************************
//★関数群
//================================================================
//◆関数1 ・・・ 通常の引数を加算して引数の変数をリターン
function func1($a){
$a = $a + 10;
return $a;
}
//================================================================
//◆関数2 ・・・ 参照渡し引数を加算して引数の変数をリターン
function func2(&$a){
$a = $a + 10;
return $a;
}
//================================================================
//◆関数3 ・・・ 参照渡し引数を加算して引数とは別の変数をリターン
function func3(&$a){
$a = $a + 10;
$d = 100;
return $d;
}
//******************************************************************
//★処理部分
//================================================================
//◆関数1 ・・・ 通常の引数を加算して引数の変数をリターン
$b = 10;
echo '関数処理前の$bは'.$b.'です。

‘;
$c = func1($b);
echo ‘関数処理後(func1)の$bは’.$b.’です。
‘;
echo ‘関数処理後(func1)の$cは’.$c.’です。
‘;
//================================================================
//◆関数2 ・・・ 参照渡し引数を加算して引数の変数をリターン
$b = 10;
echo ‘関数処理前の$bは’.$b.’です。

‘;
$c = func2($b);
echo ‘関数処理後(func2)の$bは’.$b.’です。
‘;
echo ‘関数処理後(func2)の$cは’.$c.’です。
‘;
//================================================================
//◆関数3 ・・・ 参照渡し引数を加算して引数とは別の変数をリターン
$b = 10;
echo ‘関数処理前の$bは’.$b.’です。

‘;
$c = func3($b);
echo ‘関数処理後(func3)の$bは’.$b.’です。
‘;
echo ‘関数処理後(func3)の$cは’.$c.’です。
‘;

?>[/php]

★実行結果

 ◆関数1 ・・・ 通常の引数を加算して引数の変数をリターン
  関数処理前の$bは10です。
  関数処理後(func1)の$bは10です。
  関数処理後(func1)の$cは20です。

 ◆関数2 ・・・ 参照渡し引数を加算して引数の変数をリターン
  関数処理前の$bは10です。
  関数処理後(func2)の$bは20です。
  関数処理後(func2)の$cは20です。

 ◆関数3 ・・・ 参照渡し引数を加算して引数とは別の変数をリターン
  関数処理前の$bは10です。
  関数処理後(func3)の$bは20です。
  関数処理後(func3)の$cは100です。

★ちょっと見つけた面白そうな記事
 ・[PHPの基礎体力] 関数の値渡しと参照渡しどちらが速い?

スポンサードリンク

コメント

タイトルとURLをコピーしました