网站建设资讯

NEWS

网站建设资讯

php数组能放多大数据 php数组数量

php数组以什么格式写入内存占用空间最小

一般来说,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变成一个数组。

php 中一个数组最多可以有多少个元素啊?请教高人

神啊,数组存那么多数据你循环时服务器会抽风的。。。。

数组用来存储一定数量的数据,注意是一定数量。。。。

【急急】PHP二维数组的大小有限制!?

不会的,除非你是变量$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://cdweb.net/article/ddsiihe.html