我想用PHP分组数据:
我有一个带有转储内容的数组
Array (
[0] => Array (
[0] => 123
[1] => 3000
[2] => 595
[3] => 1005
)
[1] => Array (
[0] => 53
[1] => 700
[2] => 195
[3] => 315
)
[2] => Array (
[0] => 82
[1] => 142
[2] => 342
[3] => 640
)
[3] => Array (
[0] => 82
[1] => 702
[2] => 200
[3] => 320
)
)
此数组表示3D中的项目。我想要实现的是按坐标对它们进行分组,这样如果(粗略地)它们靠近在一起(假设每个轴上的距离小于10个单位)。
到目前为止,我想出了以下脚本:http://pastebin.com/wJ5HpTPL然而它似乎失败了 - 它根本没有任何理由对某些记录进行分组,并且不对那些我想要的记录进行分组。而且我知道它是多么低效但是我尝试了几种失败的方法,它演变成了那些糟糕的代码。
大约有2000个项目,但是脚本将出于管理目的而运行,并且托管在我的本地服务器上,因此性能并不重要。
答案 0 :(得分:1)
要计算差异,你可以使用毕达哥拉斯定理和:
这里解释得非常好:http://betterexplained.com/articles/measure-any-distance-with-the-pythagorean-theorem/
答案 1 :(得分:0)
我已经解决了我的问题,只需在我的代码中使用$row = $bulk[$i];
而不是$row = next($bulk);
因为某些原因导致问题。