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);
}
}