Ok,risolto.

codice:
function add_edge($u,$v){
	$index=-1;
	for($i=0;$i<count($this->list_ad);$i++){
		if($this->list_ad[$i]->get_nome()==$u->get_nome()){//cerca l'indice del vertice
			$index=$i;
			break;
		}
	}
	if( $index >= 0){
		if( $this->list_ad[$index]->get_next() == NULL ){
			$ver=new Vertice($v->get_nome());
			$this->list_ad[$index]->set_next($ver);
		}
		else{
			$tmp=$this->list_ad[$index]->get_next();
			while($tmp->get_next() != NULL){
				$tmp=$tmp->get_next();
			}
			$ver=new Vertice($v->get_nome());
			$tmp->set_next($ver);
		}
	}
	else{
		print "vertice inesistente\n";
	}
}