No tengo ni idea secate. No trabajo con php y postgres en este sentido.
Yo retorno desde la función en arreglos los valores que requiero para trabajar. La información a la aplicación ya llega procesada por postgres.
Por ejemplo:
Código sql:
Ver originalOPEN cur FOR SELECT campo FROM tabla;
loop
fetch cur INTO variable; --Esta variable se sobvreescribe en cada ciclo.
EXIT WHEN NOT FOUND;
i = i + 1;
arreglo[i] = variable;
END loop;
--cierra el cursor
close cur;
RETURN arreglo;
Sin embargo, se que existen muchas formas de trabajar con cursores y la tuya puede ser una de ellas.
Esperemos si alguien a trabajado así.