OK so I was unable to find the answer and had to figure this one out myself.
So you want to use hreflang in your header rather than in your html
So how do you add multiple hreflang link headers in php?
header('Link: <http://www.yoursite.com>; rel="alternate"; hreflang="x-default', false);
header('Link: <http://www.yoursite.co.uk>; rel="alternate"; hreflang="en-gb', false);
The trick is to make sure you add the "false" bit at the end
Then check the Raw HTTP Response Headers NOT HTTP Response Headers with a tool like http://http-headers.online-domain-tools.com/