What References DoPodręcznik PHPPoprzedniRozdział 15. References ExplainedNastępnyWhat References Do
PHP references allow you to make two variables to refer to the
same content. Meaning, when you do:
$a =& $b
it means that $a and $b
point to the same variable.
Notatka:
$a and $b are completely
equal here, that's not $a is pointing to
$b or vice versa, that's
$a and $b pointing to the
same place.
The same syntax can be used with functions, that return references,
and with new operator (in PHP 4.0.4 and later):
$bar =& new fooclass();
$foo =& find_var ($bar);
Notatka:
Not using the & operator causes a copy of the
object to be made. If you use $this in the class it
will operate on the current instance of the class. The assignment without
& will copy the instance (i.e. the object) and
$this will operate on the copy, which is not always
what is desired. Usually you want to have a single instance to work with,
due to performance and memory consumption issues.
While you can use the @ operator to
mute any errors in the constructor when using it as
@new, this does not work when using the
&new statement. This is a limitation of the Zend
Engine and will therefore result in a parser error.
The second thing references do is to pass variables
by-reference. This is done by making a local variable in a function and
a variable in the calling scope reference to the same content. Example:
function foo (&$var)
{
$var++;
}
$a=5;
foo ($a);
will make $a to be 6. This happens because in
the function foo the variable
$var refers to the same content as
$a. See also more detailed explanations about passing by reference.
The third thing reference can do is return by reference.
PoprzedniSpis treściNastępnyReferences ExplainedPoczątek rozdziałuWhat References Are Not
Wyszukiwarka
Podobne podstrony:
language references whatdolanguage references spotlanguage references arentlanguage references spotlanguage referenceslanguage references passlanguage references returnlanguage references unsetlanguage referenceslanguage references passlanguage references returnlanguage references unsetlanguage references arentC# Language Pocket ReferenceVOIP Reference Guidelanguage expressionsLanguage and Skills Test Units 1 2więcej podobnych podstron