Πέρασμα με αναφορά

Μπορείτε να περάσετε μεταβλητές σε συναρτήσεις με αναφορά, έτσι ώστε η συνάρτηση να μπορεί να τροποποιήσει τα ορίσματα της. Η σύνταξη έχει ως ακολούθως:

<?php
function foo (&$var)
{
    
$var++;
}

$a=5;
foo ($a);
// $a is 6 here
?>

Σημειώστε ότι δεν υπάρχει κάποιο σημάδι αναφοράς στην κλήση της συνάρτησης - μόνο στον ορισμό της συνάρτησης. Ο ορισμός της συνάρτησης από μόνος του είναι αρκετός για να περάσει σωστά τα ορίσματα με αναφορά.

Τα ακόλουθα μπορούν να περαστούν με αναφορά:

Οποιαδήποτε άλλη έκφραση δεν θα πρέπει να χρησιμοποιείται στο πέρασμα με αναφορά, αφού το αποτέλεσμα που θα προκύπτει να είναι απροσδιόριστο. Για παράδειγμα, τα ακόλουθα παραδείγματα περάσματος με αναφορά δεν είναι έγκυρα:

<?php
function bar() // Note the missing &
{
    
$a = 5;
    return
$a;
}
foo(bar());

foo($a = 5) // Expression, not variable
foo(5) // Constant, not variable
?>

Αυτές οι απαιτήσεις ισχύουν για την PHP 4.0.4 και μετά.