2015-09-07 22 views
2

我確實進行了一些工作要明白,php 7.0字符串可以大於2^31,多大?

Source

升級票據上寫着:

支持長度> = 2^31字節的64位串構建。

,但我讀使用的字符串長度此link

types.h源代碼中定義size_t

似乎應該是2^32在32位構建和2^64在64位建立我猜?

+1

你用2^31字符做什麼? :0 – ventaquil

+0

是的,2^31B = 2GB,當我做一些php控制檯shell時,我用來處理那些來自文本文件格式的大字符串,比如json –

+3

猜測位,但2^64是18.4艾字節,所以如果是最大的支持,你能夠使用的數量將受到應用程序運行的系統中RAM的限制。因此,可能沒有具體的限制,因爲它可能會在系統間發生變化,並隨着操作系統可支持的最大內存量而發生變化。 – gabe3886

回答

0

現在是2 -1在實踐中,因爲這就是用於字符串長度的C類型,通常是在64位系統上的size_t

但是,在實踐中,您實際上無法制作那麼大的字符串,因爲沒有創建可以在接近內存量的任何位置使用的計算機。

這是什麼的意思是,如果你有一個16GB的RAM的計算機,你可以想象如果你想要創建一個15GB的字符串。不過,你不太可能需要。