一般來說,PHP數(shù)組的內(nèi)存利用率只有 1/10, 也就是說,一個(gè)在C語言里面100M 內(nèi)存的數(shù)組,在PHP里面就要1G。特別是在PHP作為后臺服務(wù)器的系統(tǒng)中,經(jīng)常會(huì)出現(xiàn)內(nèi)存耗費(fèi)太大的問題。
臨滄網(wǎng)站制作公司哪家好,找創(chuàng)新互聯(lián)建站!從網(wǎng)頁設(shè)計(jì)、網(wǎng)站建設(shè)、微信開發(fā)、APP開發(fā)、成都響應(yīng)式網(wǎng)站建設(shè)等網(wǎng)站項(xiàng)目制作,到程序開發(fā),運(yùn)營維護(hù)。創(chuàng)新互聯(lián)建站從2013年成立到現(xiàn)在10年的時(shí)間,我們擁有了豐富的建站經(jīng)驗(yàn)和運(yùn)維經(jīng)驗(yàn),來保證我們的工作的順利進(jìn)行。專注于網(wǎng)站建設(shè)就選創(chuàng)新互聯(lián)建站。
因?yàn)檫@個(gè)是語言的問題,常規(guī)方案比較難以解決。下面是一種通過string 解決的方案。
復(fù)制代碼 代碼如下:
$total = 100000;
$double = "";
for ($i = 0; $i $total; $i++)
{
$double .= pack("d", $i + 0.1);
}
for ($i = 0; $i $total; $i++)
{
unpack("@" . ($i * 8) . "/d", $double);
}
這個(gè)例子用一個(gè)string 保存一個(gè)double 的數(shù)組。然后在使用的時(shí)候unpack出來。
當(dāng)然,這會(huì)影響性能。要看具體的需求。
比如這樣的情況下:
你有10個(gè)數(shù)組,每個(gè)數(shù)組10M (1百萬數(shù)據(jù)左右),那么十個(gè)要花費(fèi) 100M內(nèi)存。
再加上10個(gè)人并發(fā)的話,內(nèi)存就會(huì)嚴(yán)重不夠了。
然后,在10個(gè)數(shù)組,不是每次都同時(shí)使用的。你可以,把他們保存成string
然后,在使用的時(shí)候,unpack某一個(gè)string變成一個(gè)數(shù)組。
神啊,數(shù)組存那么多數(shù)據(jù)你循環(huán)時(shí)服務(wù)器會(huì)抽風(fēng)的。。。。
數(shù)組用來存儲一定數(shù)量的數(shù)據(jù),注意是一定數(shù)量。。。。
理論上是可以的,沒試過。數(shù)組其實(shí)是在內(nèi)存中的一塊區(qū)域,計(jì)算機(jī)處理內(nèi)存中的數(shù)據(jù)相對來講最快的了,具體查找到某個(gè)值的速度取決于你的查找方法了,一般的查找方法是先排序再進(jìn)行排查的。php自帶的array函數(shù)速度就很快的,當(dāng)然這么龐大的數(shù)據(jù)量很占系統(tǒng)資源的。
這里面更引響速度的應(yīng)該是你把數(shù)據(jù)從文件中取出來的這個(gè)過程吧。
這個(gè)問題 應(yīng)該這么說:如果定義的是一個(gè)簡單類型的數(shù)組,例如:int my_int_array[100] ; 那么最多能夠存放:100個(gè)元素,且每個(gè)元素的詳細(xì)大小為:sizeof(int) ;數(shù)組的合法存取下標(biāo)為:my_int_array[0] -- my_int_array[99],如果超過了這個(gè)范圍,那么就會(huì)產(chǎn)生數(shù)組越界,程序就會(huì)出現(xiàn)錯(cuò)誤了。
如果定義的是一個(gè)復(fù)合類型的數(shù)組,例如:結(jié)構(gòu)數(shù)組。舉例如下:
struct myself_datatype
{
char name[40] ;
int sex ;
int age ;
} myself_data ;
myself_data my_struct_array[100] ;
那么結(jié)構(gòu)數(shù)組中的每一個(gè)元素所占的空間大小就是:sizeof(myself_data.name) + sizeof(myself_data.sex) + sizeof(myself_data.age) 。
當(dāng)前題目:php數(shù)組能存多大的數(shù)據(jù) php數(shù)組的長度
文章網(wǎng)址:http://jinyejixie.com/article6/dopsgog.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供關(guān)鍵詞優(yōu)化、手機(jī)網(wǎng)站建設(shè)、搜索引擎優(yōu)化、網(wǎng)站營銷、營銷型網(wǎng)站建設(shè)、自適應(yīng)網(wǎng)站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)