五月综合缴情婷婷六月,色94色欧美sute亚洲线路二,日韩制服国产精品一区,色噜噜一区二区三区,香港三级午夜理伦三级三

您現(xiàn)在的位置: 365建站網(wǎng) > 365文章 > PHP 內(nèi)置 函數(shù) 32 位 和 64 位平臺(tái)兼容性問(wèn)題

PHP 內(nèi)置 函數(shù) 32 位 和 64 位平臺(tái)兼容性問(wèn)題

文章來(lái)源:365jz.com     點(diǎn)擊數(shù):340    更新時(shí)間:2009-09-13 11:01   參與評(píng)論
   PHP 中的整數(shù)是 C 語(yǔ)言的中的long 類型,是有符號(hào)的,最大值是 2^31 。在 64 位平臺(tái)上,long可以達(dá)到 2^63.
這樣的話,有些PHP 函數(shù)輸出的結(jié)果在各個(gè)平臺(tái)上就會(huì)不一致了。
php -r "echo ip2long('255.255.255.255');"  在64位平臺(tái)下是: 4294967295, 在32位平臺(tái)下是 -1。
還有比如 filesize 在 文件 大于 2G的時(shí)候,在不同的平臺(tái)下結(jié)果就不一致了。

    解決這個(gè)問(wèn)題很簡(jiǎn)單,sprintf("%u", filesize($file)). 把結(jié)果轉(zhuǎn)換為 一個(gè)字符串。為什么結(jié)果會(huì)一樣呢:
無(wú)符號(hào)數(shù) 4294967295 的補(bǔ)碼 和 有符號(hào)數(shù) -1 的補(bǔ)碼 是一樣的。

   類似,返回值為int 最后結(jié)果可能大于 2^31 的函數(shù),都要用這樣的方法處理。
注意,返回的雖然是一個(gè)字符串,但是,當(dāng)進(jìn)行四則運(yùn)算的時(shí)候,PHP會(huì)自動(dòng)裝換。
如果 數(shù)大于 2^31  會(huì)轉(zhuǎn)換為 int 如果大于 了,就轉(zhuǎn)換為double。
 
Tag標(biāo)簽: php,平臺(tái)兼容性

如對(duì)本文有疑問(wèn),請(qǐng)?zhí)峤坏浇涣髡搲瑥V大熱心網(wǎng)友會(huì)為你解答?。?點(diǎn)擊進(jìn)入論壇

發(fā)表評(píng)論 (340人查看,0條評(píng)論)
請(qǐng)自覺(jué)遵守互聯(lián)網(wǎng)相關(guān)的政策法規(guī),嚴(yán)禁發(fā)布色情、暴力、反動(dòng)的言論。
昵稱:
最新評(píng)論
------分隔線----------------------------

其它欄目

· 建站教程
· 365學(xué)習(xí)

業(yè)務(wù)咨詢

· 技術(shù)支持
· 服務(wù)時(shí)間:9:00-18:00
365建站網(wǎng)二維碼

Powered by 365建站網(wǎng) RSS地圖 HTML地圖

copyright © 2013-2024 版權(quán)所有 鄂ICP備17013400號(hào)