Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/235.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 在数组中分组数据_Php_Arrays_Conditional_Grouping - Fatal编程技术网

Php 在数组中分组数据

Php 在数组中分组数据,php,arrays,conditional,grouping,Php,Arrays,Conditional,Grouping,我想在PHP中分组数据,如下所示: 我有一个数组,里面有垃圾 Array ( [0] => Array ( [0] => 123 [1] => 3000 [2] => 595 [3] => 1005 ) [1] => Array ( [0] => 53 [1] => 700

我想在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
        )
)
此数组表示三维中的项目。我想要实现的是通过坐标将它们分组,这样,如果(大致上)它们靠近(假设每个轴上的距离小于10个单位)

到目前为止,我想出了以下脚本:但它似乎失败了——它毫无理由地对一些记录进行分组,而不对我想要的记录进行分组。我知道它的效率有多低,但我尝试了几种失败的方法,结果演变成了糟糕的代码


大约有2000个项目,但该脚本将出于管理目的运行,并托管在我的本地服务器上,因此性能并不重要。

要计算差异,可以使用毕达哥拉斯定理和:


这里解释得很好:

要计算差值,可以使用毕达哥拉斯定理和:


这里的解释非常好:

我通过简单地使用
$row=$bulk[$I]解决了我的问题在我的代码中,而不是
$row=next($bulk)
由于某种原因导致了问题。

我只需使用
$row=$bulk[$I]在我的代码中,而不是
$row=next($bulk)由于某些原因导致出现问题。

对不起,我的问题可能不清楚,但我在检查项目是否足够近方面没有问题,我只是在单独的轴上检查距离,因为它不必精确,但是分组代码似乎不起作用。对不起,我的问题可能不清楚,但我在检查项目是否足够接近方面没有问题,我只是在单独的轴上检查距离,因为它不必精确,但是分组代码似乎不起作用。