My main concern here is that as a consumer you now must always loop the full header array even if you only want to check for status and then Location header.  Would the following be reasonable?

    $header[$headerName][] = $headerValue;

It still represents multiple results, but allows direct access to $header['location'] and such.