做我有这样的代码&是什么在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