Continuiamo il discorso circa i valori restituiti.
Per restituire un riferimento da una funzione, è necessario usare l'operatore di passaggio per riferimento & in entrambe le dichiarazioni di funzioni e quando viene assegnato il valore restituito ad una variabile:
function &restituisce_riferimento() {
return $un_riferimento; }
$nuovo_riferimento =& restituisce_riferimento()
Passiamo ora a parlare dell'istruzione old_function. Permette di dichiarare una funzione usando una sintassi identica a PHP/FI2 (eccetto il dover sostituire 'function' con 'old_function').
Questa è una caratteristica deprecata, e dovrebbe essere usata solo da convertitori PHP/FI2->PHP 3.
Le funzioni dichiarate come old_function non possono essere chiamate da codice interno di PHP.
Tra le altre cose, questo significa che non possono essere usate in funzioni come usort(), array_walk(), e register_shutdown_function().
Si può aggirare questa limitazione scrivendo una funzione contenitore (nel normale stile di PHP 3) per chiamare la old_function.