2010年1月13日水曜日

php の引数の型がクラスの場合は、値?参照?


<?php

class Foo {
function Foo() {
$this->t = "Foo";
}

function test() {
$this->t = "Bar";
}

function test2( $foo ) {
$foo->t = "fuga";
}

var $t;
}

function test1( $foo ) {
$foo->test();
}


function test2( $foo ) {
$foo->t = "Boo";
}

$f = new Foo;

echo $f->t . "\n";

test1( $f );

echo $f->t . "\n";


test2( $f );

echo $f->t . "\n";

Foo::test2( $f );

echo $f->t . "\n";

$f->test();

echo $f->t . "\n";

$g = new Foo;

$g->test2( $f );

echo $f->t . "\n";


?>


結果、引数の型がクラスの場合は、参照 値渡しのポインタ(追記:というよりも、ポインタというべきか…)



Foo
Bar
Boo
fuga
Bar
fuga


うーん、基本的な記述がマニュアルで見つけられない…

0 件のコメント: