内存问题

内存1个G给他使用都不够,循环的代码都没执行完,这是为什么?

$data=[];
for ($i=0; $i < 10000*10000; $i++) { 
    $data[]=rand(0,10000000);
}
sort($data);
《L04 微信小程序从零到发布》
从小程序个人账户申请开始,带你一步步进行开发一个微信小程序,直到提交微信控制台上线发布。
《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
最佳答案

建议你看一下这篇文章,《PHP数组实际占用内存大小的分析》
按照这篇文章,一个数组元素大概至少要占用54个字节, 就按最小的算,100000000 × 54 ÷ 1024 ÷1024 ≈ 5149.84(MB)都5G内存了。1G怎么够用

2年前 评论
讨论数量: 7

试了下,要 4 G+ ……

        $data=[];
        for ($i=0; $i < 10000*10000; $i++) {
            $data[]=rand(0,10000000);
        }

        sort($data);

        echo '内存 ' . memory_get_usage()/1024/1024 .'M';

结果

内存 4123.9258270264 M
进程已结束,退出代码为 0。
执行时间: 112,012 ms。
2年前 评论
颠倒的玉石

一亿条数据,你想怎么样

2年前 评论

因为你的内存不够 建议给1T

2年前 评论

试了下,要 4 G+ ……

        $data=[];
        for ($i=0; $i < 10000*10000; $i++) {
            $data[]=rand(0,10000000);
        }

        sort($data);

        echo '内存 ' . memory_get_usage()/1024/1024 .'M';

结果

内存 4123.9258270264 M
进程已结束,退出代码为 0。
执行时间: 112,012 ms。
2年前 评论

生产队的驴擦了擦汉。

2年前 评论

建议你看一下这篇文章,《PHP数组实际占用内存大小的分析》
按照这篇文章,一个数组元素大概至少要占用54个字节, 就按最小的算,100000000 × 54 ÷ 1024 ÷1024 ≈ 5149.84(MB)都5G内存了。1G怎么够用

2年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!