1. 程式人生 > >php中的對象賦值

php中的對象賦值

pre 賦值 pan 打印 不同的 public 傳遞 應該 pub

如果現在問你一個問題:

<?php
class A{
    public $a = 1;
}
$a = new A();
$b = $a;

$b->a = 3;
print_r($a->a);

上面這段代碼將打印出什麽?你的回答是什麽?

在以前,我的回答會是$a和$b是兩個不同的對象,所以輸出的是1。

如果你的php版本是4,那麽,這個回答是沒有問題的。php4版本及以前對象間的賦值是按值傳遞的,所以會是兩個會不想幹的對象,而php4之後的版本卻是按值傳遞的,所以,這裏輸出應該是3.

php中的對象賦值