Php 获取每个二维数组元素的邻域

Php 获取每个二维数组元素的邻域,php,node.js,Php,Node.js,我有二维元素数组,比如 1 2 3 4 5 6 7 8 9 现在如何得到每个元素的邻居 例如:对于1,邻居是[2,4],对于2[1,3,5]等等 建议我怎么做 预期产出: [ 1=>[2,4], 2=>[1,3,5], 3=>[2,6], 4=>[1,5,7], 5=>[2,4,6,8], 6=>[3,5,9], 7=>[4,8], 8=>[7,5,9], 9=>[6,8] ] 在Js中: 假设数组具有行大小和列大小 for(i=0;i

我有二维元素数组,比如

1 2 3 
4 5 6
7 8 9
现在如何得到每个元素的邻居

例如:对于1,邻居是[2,4],对于2[1,3,5]等等

建议我怎么做

预期产出:

[
1=>[2,4],
2=>[1,3,5],
3=>[2,6],
4=>[1,5,7],
5=>[2,4,6,8],
6=>[3,5,9],
7=>[4,8],
8=>[7,5,9],
9=>[6,8]
]
在Js中:

假设数组具有行大小列大小

for(i=0;i<rowSize;i++){

    //neighbours of element array[i][j]

    for(j=0;j<columnSize;j++){
        if(i!=0)
          console.log(array[i-1][j]);

        if(i!=rowSize-1)
          console.log(array[i+1][j]);

        if(j!=0)
          console.log(array[i][j-1]);

        if(j!=columnSize-1)
          console.log(array[i][j+1]);
    }
}
Js中(i=0;i的

假设数组具有行大小列大小

for(i=0;i<rowSize;i++){

    //neighbours of element array[i][j]

    for(j=0;j<columnSize;j++){
        if(i!=0)
          console.log(array[i-1][j]);

        if(i!=rowSize-1)
          console.log(array[i+1][j]);

        if(j!=0)
          console.log(array[i][j-1]);

        if(j!=columnSize-1)
          console.log(array[i][j+1]);
    }
}

for(i=0;i这是一种简单、实用的方法,可简明扼要地查找邻居。它使用向量定义邻居,因此您也可以使用它来过滤其他方式:

var-arr=[
[1, 2, 3],
[4, 5, 6],
[7, 8, 9]
]
函数邻居(arr、m、n){
//定义邻居是什么
设v=[[0,1],[1,0],[0,-1],-1,0]]
//过滤边和贴图
返回v.filter(([h,j])=>h+m>=0&&h+m=0&&j+narr[h+m][j+n])
}
控制台日志(邻居(arr,1,1))
console.log(邻居(arr,0,0))

console.log(neights(arr,2,2))
这是一种简单、实用的方法,用于简洁地查找邻居。它使用向量定义邻居,以便您也可以使用它来选择其他方式:

var-arr=[
[1, 2, 3],
[4, 5, 6],
[7, 8, 9]
]
函数邻居(arr、m、n){
//定义邻居是什么
设v=[[0,1],[1,0],[0,-1],-1,0]]
//过滤边和贴图
返回v.filter(([h,j])=>h+m>=0&&h+m=0&&j+narr[h+m][j+n])
}
控制台日志(邻居(arr,1,1))
console.log(邻居(arr,0,0))

控制台日志(邻居(arr,2,2))
您想要PHP或JS答案吗?到目前为止您做的工作在哪里?任何语言都可以。请澄清您的具体问题或添加其他详细信息以突出显示您所需要的内容。由于目前编写的内容,很难准确地说出您要问什么。请参阅“如何询问”页面以获得帮助,以澄清此问题。@jmargolisvt查找预期输出您想要PHP或JS答案吗?到目前为止您所做的工作在哪里?任何语言都可以。请澄清您的具体问题或添加其他详细信息以突出显示您所需要的内容。按照目前编写的内容,很难准确说出您所问的内容。请参阅“如何询问”页面以获得帮助,以澄清此问题。@jmargolisvt请查找预期输出