一般來說,PHP數組的內存利用率只有 1/10, 也就是說,一個在C語言里面100M 內存的數組,在PHP里面就要1G。特別是在PHP作為后臺服務器的系統中,經常會出現內存耗費太大的問題。
成都創新互聯主要從事網站建設、成都網站建設、網頁設計、企業做網站、公司建網站等業務。立足成都服務察布查爾錫伯,10余年網站建設經驗,價格優惠、服務專業,歡迎來電咨詢建站服務:028-86922220
因為這個是語言的問題,常規方案比較難以解決。下面是一種通過string 解決的方案。
復制代碼 代碼如下:
$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);
}
這個例子用一個string 保存一個double 的數組。然后在使用的時候unpack出來。
當然,這會影響性能。要看具體的需求。
比如這樣的情況下:
你有10個數組,每個數組10M (1百萬數據左右),那么十個要花費 100M內存。
再加上10個人并發的話,內存就會嚴重不夠了。
然后,在10個數組,不是每次都同時使用的。你可以,把他們保存成string
然后,在使用的時候,unpack某一個string變成一個數組。
神啊,數組存那么多數據你循環時服務器會抽風的。。。。
數組用來存儲一定數量的數據,注意是一定數量。。。。
不會的,除非你是變量$size在不斷變化,你試試看我下面的代碼,看看執行的結果就知道是沒有限制的:
?php
$size=40;
$item=2;
$numofitem=999;
for($i=0;$i $size;$i++) for($j=0;$j $item;$j++) $cluster_id[$i][$j]=rand(0,$numofitem-1);
print_r($cluster_id);
?
不過,你是用的什么高級武器,居然可以單步執行PHP,介紹一下吧。
網頁名稱:php數組能放多大數據 php數組數量
網頁地址:http://vcdvsql.cn/article44/ddsiihe.html
成都網站建設公司_創新互聯,為您提供自適應網站、靜態網站、網頁設計公司、標簽優化、動態網站、
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯