Multiple inheritance does not exist in php5 so an interface can be used to replicate this.
Not quite true, in my opinion. Multiple inheritance is more powerful than interfaces, but with the cost of additional complexity (e.g., diamond inheritance problem). I see it as "multiple inheritance can be used to simulate interfaces" instead. For example, one could simulate implementing multiple interfaces by deriving from multiple abstract base classes that have no member variables and only public member functions.
As i understand this means you have access to all public functions. But does this mean that you can use public functions in all classes you have?
You do not have access to anything. Rather, you have to implement the functions specified in the interface. Of course, since these functions are implemented by the class, the class can use them as per normal.
When you access an object via an interface, then you are restricted to using only those functions specified by the interface, even though the object may be of a class that has other functions.