PHP对象是引用传值,php函数传递对象 值引用 地址引用

php:函数间的参数传递

1.值传递

function exam($var1){

$var1++;

echo "In Exam:" . $var1 . "
";

}

$var1 = 1;

echo $var1 . "
";

exam($var1);

echo $var1 . "
";

?>

-------------------------------------------------------------------------------

输出结果:

1

In Exam: 2

1

-------------------------------------------------------------------------------

2.引用传递

function exam( &$var1){

$var1++;

echo "In Exam:" . $var1 . "
";

}

$var1 = 1;

echo $var1 . "
";

exam($var1);

echo $var1 . "
";

?>

-------------------------------------------------------------------------------

输出结果:

1

In Exam: 2

2

-------------------------------------------------------------------------------

3.可选参数

function values($price, $tax=""){

$price += $prive * $tax;

echo "Total Price:" . $price . "
";

}

values(100, 0.25);

values(100);

输出结果:

Total Price: 125

Total Price: 100

-------------------------------------------------------------------------------

4.如果传入的是一个对象,可以更改该对象的值

(实际上变量$obj记录的是这个对象的句柄,将$obj作为参数传入,完全可以对原对象进行操作。)

class Obj{

public $name;

public $age;

public $gander;

public function __construct($name, $age, $gander){

$this->name = $name;

$this->age = $age;

$this->gander = $gander;

}

public function show_info(){

echo $this->name . " " . $this->age . " " . $this->gander . "
";

}

}

function grow($obj){

$obj->age++;

}

function test(){

$obj = new Obj("Mr. zhan", "12", "male");

$obj->show_info();

grow($obj);

$obj->show_info();

grow($obj);

$obj->show_info();

}

test();

?>

-------------------------------------------------------------------------------

输出结果:

Mr. zhan 12 male

Mr. zhan 13 male

Mr. zhan 14 male

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值