因爲生產服務器是32位,而我的開發機器是64位(我正在運行Kubuntu 12.04 64位),所以在轉移到生產時,我遇到了代碼問題。我的問題是。如果不安裝23位版本的PHP,是否可以強制int爲32位?無論是該庫還是允許我選擇最大int值的庫如何在64位PHP安裝中使用32位整數?
4
A
回答
8
整數是該平臺上指針的大小。 (32位PHP - > 32位整數,64位PHP - > 64位整數)。
請注意,當整數運算溢出時,變量將變成浮點數。 PHP documentation解釋了所有這一切。
我不確定你在代碼中做什麼會導致你關心整數是多少。但是,如果您只關心32位的值,則始終可以屏蔽低32位:
$val = $something & 0xFFFFFFFF;
+0
'$ val = $ something&0xFFFFFFFF;'這一行讓我的一天感謝! – fnkbz 2015-07-27 12:18:00
+3
一種情況是在計算一個CRC32的情況下,不使用CRC32中的構建,就像在我的情況下一樣,我需要一次完成一個字節。這裏你乘以相當大的整數,並且你希望它們像有符號的32位整數一樣,即使是在64位系統上。 – 2015-11-01 12:11:08
相關問題
- 1. 安裝Pygame - 32位和64位
- 2. 32位和64位安裝項目
- 3. windows 7 64位安裝32位流星
- 4. 在64位RHEL上安裝32位庫(glibc)而不使用yum
- 5. 如何在32位PC上創建64位InstallShield安裝程序?
- 6. 如何在Red Hat Linux 64位上安裝python 32位
- 7. 安裝了32位安裝的Python,顯示爲64位
- 8. 使用Wix安裝32位和64位驅動程序?
- 9. 如何安裝Python 2.7.3 32位和64位Windows上並排
- 10. 如何檢查我的Perl安裝是32位還是64位?
- 11. 如何檢查安裝的wxPython是32位還是64位?
- 12. 如何檢查安裝的Anaconda是32位還是64位?
- 13. 如何在安裝64位軟件包時同時安裝64位和32位版本?
- 14. 在64位機器上安裝Coldfusion 8 32位 - 任何問題?
- 15. XOR高32位,低32位,64位數
- 16. Inno安裝.NET DLL調用工作在64位,失敗32位
- 17. 允許用戶在64位窗口上安裝32位版本
- 18. 從32位到64位將在裝配
- 19. 算法使用32位無符號整數乘64位數
- 20. 如何使用Installshield 2010創建32位或64位唯一安裝程序?
- 21. 如何在64位應用程序中使用win 32位dll
- 22. 如何在Windows 64位中使用python調用32位exes?
- 23. 使用PDO從64位轉換爲32位的整數
- 24. 使用64位整數迭代器的32位地址空間?
- 25. 在安裝在32位機器上的hyper-v上安裝64位虛擬機
- 26. 在Windows和Linux中如何查找安裝的mercurial是32位還是64位?
- 27. 如何在現有的32位安裝中創建python conda 64位環境?
- 28. 在64位CentOS上安裝32位glibc 6
- 29. WiX:阻止32位安裝程序在64位Windows上運行
- 30. 在Natty 64位上安裝32位JDK,I
nope。 PHP不提供對變量的控制。你不能使var成爲「short」,「int」或「unsigned」。只有整數,字符串,對象,數組。但是,沒有理由不能安裝32位版本的PHP。它可能有多個獨立的PHP安裝。 – 2013-03-21 20:29:51
您在PHP代碼中執行什麼樣的操作可能需要int爲32位? – 2013-03-21 20:29:52
您可以將int(使用setter函數)限制爲不超過32位整數數字限制(2,147,483,647)。因此,如果將常規整數設置爲高於此值,則可以拋出異常。這當然不是萬無一失的。此外,它可能不會獲得你的記憶,因爲PHP仍然會保留64位整數的所有空間。你可以做的最後一件事就是創建一個類,它代表一個32位整數,帶有鏈式'char',但這可能不會比使用64位整數更有用。 – 2013-03-21 20:33:18