I have at least a partial solution for you. As I mentioned in a previous comment, I have done some work towards this goal in the past. What I did based on your request was to extract some of that code to build an API of airports which includes latitude, longitude, UTC offset and timezone values.
Here are examples on the endpoints.
For all the data in the whole API you can send an HTTP GET request to https://airports-api.s3-us-west-2.amazonaws.com/
. You'll get a JSON response containing all the airports as an array of objects. It's a huge response.
For more pinpoint information the following two RESTful patterns can be utilized for ICAO or IATA airport codes respectively.
https://airports-api.s3-us-west-2.amazonaws.com/icao/katl.json
https://airports-api.s3-us-west-2.amazonaws.com/iata/atl.json
In either case you'll get a JSON response for just that airport. It should look like this.
{
"id":3682,
"city":"Hartsfield Jackson Atlanta Intl",
"state":"Atlanta",
"country":"United States",
"iata":"ATL",
"icao":"KATL",
"latitude":33.636719,
"longitude":-84.428067,
"elevation":1026,
"utc_offset":-5,
"_class":"A",
"timezone":"America/New_York"
}
Now I know you're working in PHP, but there are surely libraries in PHP that will allow you to make requests to the API and parse the JSON into a PHP array.
Also, a disclaimer and a request. My data is incomplete. Currently this project is on Github in the form of a Middleman site that reads the source CSV and builds a static API. I would love to have collaborators help me expand and improve the source data. I also have code I can extract from other projects that determines the UTC offset and timezone values if we at least know the latitude and longitude. It requires making requests to the Google Maps Timezone API which would get expensive if this were done on demand, so I'd prefer to keep digesting the data and rebuilding the API as a static site. Get involved at Github if you want to help.
Update
I found another source of data that, once integrated into my API will drastically improve the number of available airports. Working on that soon.