看板 PHP 關於我們 聯絡資訊
找到一個差異 <?php class SomeClass{ ... } function func() { global $sc; $sc =& new SomeClass; } function func2() { global $sc; $sc = new SomeClass; } func(); var_dump($sc); // NULL func2(); var_dump($sc); // object(SomeClass)#1 (0) { } ?> func()無法成功建立global的$sc, 可能如我所說的 $sc =& new SomeClass; 相當於 $tmp = new SomeClass; $sc =& $tmp; 然後$tmp是區域變數, 離開scope之後就變成NULL ※ 引述《emn178 (小殘)》之銘言: : 看到一段code大概長這樣 : class SomeClass{ : ... : } : $sc =& new SomeClass; : . : . : 一般用 : $sc = new SomeClass; : 就可以建立物件了, 不知道多加一個&的用意為何? : 我猜測程式流程應該相當於這樣 : $tmp = new SomeClass; : $sc =& $tmp; : 不過object本來就pass by ref : 所以不知道為何這樣寫啊 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 118.169.74.77