Tach!
Natürlich kannst Du Rückgabewerte von Funktionen cachen.
Nur während des Requests. Ein PHP-Script hat keine requestübergreifende Lebensdauer. Das ist also kein Cache, sondern kann nichts, was eine einfache Variable nicht auch kann.
PS: In Perl gibts ein Modul Memoize da wäre nur der Name der Funktion zu übergeben und schon wird gecached, auch mit Builtinfunktionen. Vielleicht gibt ja sowas auch für PHP?
Nicht dass ich wüsste (und zum Standardlieferumfang gehört). PHP kennt erstmal nur Sessions als dauerhaften Speicher abseits von Dateien oder DBMS. Man kann sich aber selbst einen Session-Handler schreiben, der die Daten beispielsweise im Memcached statt in Dateien ablegt.
dedlfix.