PHP获取4组坐标之间的所有坐标

PHP获取4组坐标之间的所有坐标,php,math,Php,Math,我正在研究这个解决方案- 我尝试了这个代码,它成功了。虽然代码得到了对角线的坐标列表 $p1 = array( 'x' => 0, 'y' => 0 ); $p2 = array( 'x' => 10, 'y' => 10 ); // Work out distances $pxd = $p2['x'] - $p1['x']; $pyd = $p2['y'] - $p1['y']; // Find out steps $steps =

我正在研究这个解决方案-

我尝试了这个代码,它成功了。虽然代码得到了对角线的坐标列表

$p1 = array(
    'x' => 0,
    'y' => 0
);

$p2 = array(
    'x' => 10,
    'y' => 10
);

// Work out distances
$pxd = $p2['x'] - $p1['x'];
$pyd = $p2['y'] - $p1['y'];

// Find out steps
$steps = max($p1['x'], $p1['y'], $p2['x'], $p2['y']);

$coords = array();

for ($i = 0; $i < $steps; ++ $i) {
    $coords[] = array(
        'x' => round($p1['x'] += $pxd / $steps),
        'y' => round($p1['y'] += $pyd / $steps)
    );
}

print_r($coords);
上面是一条对角线

$p1 = array(
    'x' => 0,
    'y' => 0
);

$p2 = array(
    'x' => 10,
    'y' => 10
);

// Work out distances
$pxd = $p2['x'] - $p1['x'];
$pyd = $p2['y'] - $p1['y'];

// Find out steps
$steps = max($p1['x'], $p1['y'], $p2['x'], $p2['y']);

$coords = array();

for ($i = 0; $i < $steps; ++ $i) {
    $coords[] = array(
        'x' => round($p1['x'] += $pxd / $steps),
        'y' => round($p1['y'] += $pyd / $steps)
    );
}

print_r($coords);
我想得到100个坐标,即(1,1),(1,2),(1,3),(1,4)。。。。。。(7,10),(8,10),)(9,10),(10,10)


我不知道如何从数学上着手。

你需要两个循环;一个用于“x”轴,一个用于“y”轴

所以更像是(未经测试):

for($x=$p1['x'];$x<$p2['x'];++$x){
对于($y=$p1['y'];$y<$p2['y'];++$y){
$coords[]=数组(
“x”=>一轮($x),
“y”=>轮($y)
);
}
}

您应该使用嵌套for循环

for($i=1;$i<=10;$i++){

  for($j=1;$j<=10;$j++){

     $coords[] = array('x'=>$i,'y'=>$j);

  }

}
用于($i=1;$i$j);
}
}

这是一个愚蠢而平庸的问题,但我被卡住了。而不是打印
r
如何回传每个坐标
x,y
而不是
数组([0]=>数组([x]=>1[y]=>1)
for($i=1;$i<=10;$i++){

  for($j=1;$j<=10;$j++){

     $coords[] = array('x'=>$i,'y'=>$j);

  }

}