做我有這樣的代碼&是什麼在PHP
$myNewClass->cars =& Orders_Car::GetRecords($myNewClass->searchString);
^
什麼&
在那裏做什麼。 謝謝
做我有這樣的代碼&是什麼在PHP
$myNewClass->cars =& Orders_Car::GetRecords($myNewClass->searchString);
^
什麼&
在那裏做什麼。 謝謝
由PHP專家約翰內斯SCHLÜTER閱讀Do not use PHP references
PHP引用是從PHP 4,緩繳那裏對象是由價值參照,除非傳遞,而不是你故意通過參考來製作它們。這在使用PHP 5時不是必需的,因爲所有對象都始終通過PHP 5中的引用進行傳遞。
默認情況下,標量和數組在PHP 5中仍然按值傳遞。如果需要通過引用傳遞它們,則應該只使用一個對象。
它將變量更改爲'通過引用傳遞'。這與將變量的副本傳入相反。
有關詳細信息,請參閱the manual。
一個常見的用途是foreach
。
通常,foreach對可迭代數組或對象的副本進行操作。
這意味着
$salad=array(1,2,3);
foreach ($salad as $leaf){
$leaf+=1;
}
echo $salad[0];// output: 1
foreach ($salad as &$leaf){
$leaf+=1;
}
echo $salad[0];// output: 2 because & made the assignment affect the original array
它創建了一個參考。如果你不知道的參考是什麼,這樣說的:http://www.php.net/manual/en/language.references.php
這不完全正確,在PHP 5中有引用的有效用法(例如,在數組上構建一個類似圖形的結構,或者通過引用或下面的foreach示例構建__get) - 但對象和引用不應混用,這是正確的。 – StasM 2010-06-06 09:54:01