2011-11-02 64 views
0

curl_version()返回(除其他之外)24位版本號以及版本字符串。 24位版本號463623對應於字符串版本7.19.7將curl_version()轉換爲版本字符串的24位版本號

是否有一個簡單的算法將24位版本轉換爲字符串?

+3

libcurl文檔提到「version_num」是一個24位的數字,它是這樣創建的:<8位major number> | <8位次要號碼> | <8位補丁編號>。版本7.9.8因此返回爲0x070908「 - 反向轉換應該只是幾個位掩碼和轉換 – millimoose

回答

1

您的意思是此版本號?

$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

+0

他指出它已經返回,我認爲他想要一個算法,但是 –

+0

@ gms8994:這同樣微不足道。 – hakre

1

本着這樣的精神:

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