As Bubblenut says coding to interfaces allows flexibility when working with different types of object which need a common API. A good example is the Iterator interface thats in the Standard PHP Library. If you make a class which implements Iterator then you must implement the interface's methods. However once you have done this you can treat any object which implements Iterator in the same way, since they must have a common API. So iterating over a directory, a database recordset, an array, or any sort of list can be handled by the same client code.
A real world example might be a search function, where you want to search a file system and a database. By using Iterator the code which lays up the search results doesn't need to know what it is displaying, just that it is_a Iterator.
Interfaces are also PHP's answer to multiple inheritance. Class Foo might implement interface Ifoo, where as class FooBar might implement interfaces Ifoo and Ibar.