העברה על ידי מכוון
אתה יכול להעביר משתנה לפונקציה על ידי מכוון על מנת שהוא ישתנה בתוך הפונקציה. התחביר הוא כך:
<?php
function foo (&$var)
{
$var++;
}
$a=5;
foo ($a);
// $a is 6 here
?>
הדברים הבאים יכולים להיות מועברים על ידי מכוון:
- משתנים, לדוגמא foo($a)
- ההצהרה new, לדוגמא foo(new foobar())
-
מכוון המוחזר מפונקציה, לדוגמא:
<?php
function &bar()
{
$a = 5;
return $a;
}
foo(bar());
?>
כל ביטוי אחר לא יכול להיות מוחזר על ידי מכוון מכיוון שסוג הביטוי לא ידוע. לדוגמא, הקוד הבא איננו חוקי:
<?php
function bar() // Note the missing &
{
$a = 5;
return $a;
}
foo(bar());
foo($a = 5) // Expression, not variable
foo(5) // Constant, not variable
?>