使用PHP的数组进行高效的数字运算

时间:2012-10-24 19:35:46

标签: php matrix

我需要一种有效的方法来处理PHP中的3D矩阵。仅限数字索引,所有数据都将是双精度数,但如果真的需要,可以更改为整数。

是否有便携式方式有效地完成这项工作?

是的!我知道PHP不是数字运算的明显选择,但这是一个很难的约束,我无法改变它。

1 个答案:

答案 0 :(得分:2)

高效的数据表示和PHP通常不会出现在同一个句子中,所以这样做绝对不容易。

如果您只是使用数字索引,那么SplFixedArray相对于内置数组类型是一个相当大的改进;好处将首先在内存占用和性能第二。

您可以使用典型的嵌套数组方案来表示3D矩阵,或者您也可以使用一维数组并手动在(x,y,z)到(i)之间进行转换。在后一种情况下,您应该期望内存占用量有所减少,但性能也可能受到影响。