将curl_version() 24位版本号转换为版本字符串


translating curl_version() 24-bit version number to version string

curl_version()返回(除其他事项外)一个24位版本号以及版本字符串。24位版本号463623对应字符串版本号7.19.7

是否有一个简单的算法将24位版本转换为字符串?

你是说这个版本号?

$v = curl_version();
echo $v['version']; # e.g. 7.15.5

很容易破译:

$v = curl_version();
$n = $v['version_number'];
printf("%06x", $n); # e.g. 070f05

版本号是十六进制,3个值,选择每一个,转换为十进制:

   07: 7
   0f: 15
   05: 5

见:http://curl.haxx.se/docs/versions.html

可以是这种精神:

printf("%d.%d.%d", $version >> 16, ($version >>8)&0xff, $version & 0xff);