如何存储大量小值以便我的RAM不会填满?

时间:2016-01-24 19:10:13

标签: php memory

我正在循环一个人位置的大量可能组合。

这是我的示例数组:

[891532] => Array
    (
        [0] => 1012
        [1] => 5050
        [2] => 1
    )

以上说明如下:在迭代891532中,玩家的X位置为1012,Y位置为5050,旋转为1。

将此信息存储为数组似乎比我预期的要多得多。有没有办法将这些信息存储为二进制数据,例如?

这样的事,也许?

[891532] => 0010120050501

我如何在PHP中正确执行此操作?

1 个答案:

答案 0 :(得分:0)

您可以使用一些基本压缩。

log2(10000)= 13.28,所以你需要2 * 14 + 1 = 29位,这很适合单个32位整数。

$comp = $first + 16384*$second + 16384*16384*$third