{"A0": {"xMax": -600000, "xMin": -904299, "yMax": -294000, "yMin": -600000}, "A1": {"xMax": -295500, "xMin": -600000, "yMax": -294000, "yMin": -600000}, "A2": {"xMax": 10000, "xMin": -295500, "yMax": -294000, "yMin": -600000}, "A3": {"xMax": 314500, "xMin": 10000, "yMax": -294000, "yMin": -600000}, "A4": {"xMax": 620000, "xMin": 314500, "yMax": -294000, "yMin": -600000}, "B0": {"xMax": -600000, "xMin": -904299, "yMax": 12000, "yMin": -294000}, "B1": {"xMax": -295500, "xMin": -600000, "yMax": 12000, "yMin": -294000}, "B2": {"xMax": 10000, "xMin": -295500, "yMax": 12000, "yMin": -294000}, "B3": {"xMax": 314500, "xMin": 10000, "yMax": 12000, "yMin": -294000}, "B4": {"xMax": 620000, "xMin": 314500, "yMax": 12000, "yMin": -294000}, "C0": {"xMax": -600000, "xMin": -904299, "yMax": 318000, "yMin": 12000}, "C1": {"xMax": -295500, "xMin": -600000, "yMax": 318000, "yMin": 12000}, "C2": {"xMax": 10000, "xMin": -295500, "yMax": 318000, "yMin": 12000}, "C3": {"xMax": 314500, "xMin": 10000, "yMax": 318000, "yMin": 12000}, "C4": {"xMax": 620000, "xMin": 314500, "yMax": 318000, "yMin": 12000}, "D0": {"xMax": -600000, "xMin": -904299, "yMax": 620000, "yMin": 318000}, "D1": {"xMax": -295500, "xMin": -600000, "yMax": 620000, "yMin": 318000}, "D2": {"xMax": 10000, "xMin": -295500, "yMax": 620000, "yMin": 318000}, "D3": {"xMax": 314500, "xMin": 10000, "yMax": 620000, "yMin": 318000}, "D4": {"xMax": 620000, "xMin": 314500, "yMax": 620000, "yMin": 318000}, "Z0": {"xMax": -600000, "xMin": -904299, "yMax": -600000, "yMin": -908000}, "Z1": {"xMax": -295500, "xMin": -600000, "yMax": -600000, "yMin": -908000}, "Z2": {"xMax": 10000, "xMin": -295500, "yMax": -600000, "yMin": -908000}, "Z3": {"xMax": 314500, "xMin": 10000, "yMax": -600000, "yMin": -908000}, "Z4": {"xMax": 620000, "xMin": 314500, "yMax": -600000, "yMin": -908000}}用php写一个根据以上数据有多个坐标区块,每个区块四个坐标值X轴最大值x1,X轴最小值x2,Y轴最大值y1,Y轴最小值y2,怎么通过随机坐标值X轴x,Y轴y判断在哪个区块的函数代码
复制内容
根据给定的数据,我们可以使用以下PHP代码来实现根据随机坐标值X轴x和Y轴y判断它们位于哪个区块的功能:
[复制]<?php
function findBlock($x, $y, $blocks) {
foreach ($blocks as $blockName => $block) {
$xMin = $block['xMin'];
$xMax = $block['xMax'];
$yMin = $block['yMin'];
$yMax = $block['yMax'];
if ($x >= $xMin && $x <= $xMax && $y >= $yMin && $y <= $yMax) {
return $blockName;
}
}
return "未知区块";
}
// 定义区块
$blocks = [
"A0" => ["xMin" => -600000, "xMax" => -904299, "yMin" => -294000, "yMax" => -600000],
"A1" => ["xMin" => -295500, "xMax" => -600000, "yMin" => -294000, "yMax" => -600000],
"A2" => ["xMin" => 10000, "xMax" => -295500, "yMin" => -294000, "yMax" => -600000],
// 添加更多区块...
];
// 生成随机坐标
$x = rand(-904299, 620000);
$y = rand(-600000, -908000);
$block = findBlock($x, $y, $blocks);
echo "坐标点 ($x, $y) 位于 $block";
?>
在上面的代码中,我们定义了一个findBlock函数,用于根据给定的X轴和Y轴坐标判断它们位于哪个区块。函数接受三个参数:$x和$y表示坐标点的X轴和Y轴坐标,$blocks是一个包含多个区块信息的关联数组。
在函数内部,我们使用foreach循环遍历每个区块。对于每个区块,我们提取出X轴和Y轴的最小值和最大值,并使用条件语句判断给定的坐标点是否位于该区块内。如果是,则返回该区块的名称。
在示例中,我们使用给定的区块数据定义了一个包含多个区块的关联数组。然后,生成了一个随机坐标点,并调用findBlock函数进行判断。最后,将结果输出到屏幕上。
你可以根据需要添加更多的区块,并修改示例中的随机坐标点来进行测试。如果给定的坐标点不在任何区块内,则返回"未知区块"。