Cosi riesco a fare un passaggio by reference. E' un po' macchinoso ma puo' darti una via di ricerca.
In sostanza quando si passa una variabile ad una funzione, è il valore che viene passato mente se si passa un oggetto viene passato il suo riferimento.

Codice PHP:
<?php
class pippo {    
    private 
$x;
    function 
__construct() {        
      
$this->0;    
    }
    function 
set($x) {        
      
$this->$x;    
    }
    function 
get() {        
      return 
$this->x;    
    }
// class pippo

function molteplica() {    
   list(
$aa,$bb) = func_get_args();    
   
$aa->set($aa->get()*$bb->get());
}
$a = new pippo();
$b = new pippo();
//
$a->set(10);
$b->set(2);
//
molteplica($a,$b);
print 
$a->get();