No specific knowledge is required to be able to programmatically interact with the services of an SMS provider unless, of course, you're planning to become an SMS provider.
Commercial SMS providers supply an SMS to HTTP bridge, some form of interface between SMS services and an HTTP server. You don't need to know how this SMS to HTTP bridge works.
Data sent via SMS to your number
will be caught by the SMS provider
and POSTed to a URL of your choice
for you to then collect and handle
as required.
Data you wish to send via SMS will
be POSTed to a URL specified by the
provider.
So in integrating with an SMS service, either in PHP or any other language, you only need to be familiar with handling incoming POST data and with making outgoing POST requests.
I once evaluated a set of UK-based SMS providers for a UK-based dating site, with the view of integrating SMS features in to a PHP-driven service. My answer is based on my experience in doing this.