DWORD отобразить как float в PHP

У меня есть либо текстовая строка вида "28FFA243", либо четыре байта DWORD с тем же содержимым. Как в PHP превратить их в число или строку формата float?

РЕШЕНИЕ:
Видимо pack и unpack

1 ответов


1. В PHP нет "строки формата float". Есть либо число с плавающей точкой (тип float), либо строка (тип string). Дальше уже от ситуации есть "прозрачное" преобразование типов, но это совершенно другая история.

2. насколько я понял, вы храните IP-адреса в виде DWORD? Если так, то это вам должно помочь. Подсмотрено где-то:


function hex2ip($hex) {
  $ip='';
  do {
    $ip.=hexdec(substr($hex,0,2)).".";
    $hex = substr($hex,2,strlen($hex));
  } while(strlen($hex) > 0);
  return substr($ip,0,(strlen($ip)-1));
}
 

3. Что еще? В общем-то, если вы храните все в MySQL или другой СуБД - то вы в любом случае получаете строки при запросах.