【发布时间】:2018-08-24 12:20:05
【问题描述】:
我有一个计算距离的功能,数据来自数据库。
计算代码如下:
function jarak() {
global $conn;
$query1 = mysqli_query($conn, "SELECT signature, sig_priority FROM centro");
$query2 = mysqli_query($conn, "SELECT signature, sig_priority, status FROM acid_event");
while ($row = mysqli_fetch_array($query1, MYSQLI_ASSOC)) { $master[]=$row; }
while ($row = mysqli_fetch_array($query2, MYSQLI_ASSOC)) { $data[]=$row; }
$jarak = array();
foreach ($data as $key => $val) {
foreach ($master as $key2 => $value) {
$jarak = sprintf("%0.2f",sqrt(pow($val['signature'] - $value['signature'], 2) + pow($val['sig_priority'] - $value['sig_priority'], 2)));
echo "distance from (" . $value['signature'] . "," . $value['sig_priority'] . ") ke (" . $val['signature'] . "," . $val['sig_priority'] . ") is : " . $jarak . "<br>";
$euc[]=$jarak;
}
}
}
结果如下:
Array(
[0] => 30.04
[1] => 0.00
[2] => 30.04
[3] => 0.00
[4] => 47.00
[5] => 17.03
[6] => 5.02
[7] => 25.08
[8] => 2.06
[9] => 32.06
[10] => 37.00
[11] => 7.07 )
我想将每个 2 个索引数组与大于或小于进行比较。 示例:[0] 与 [1]、[2] 与 [3]、[4] 与 [5] 等等。它只是与 2 指数比较。
我试过了,但没有结果
for ($i=0; $i<count($cb); $i++) {
for ($k=0;$k<2;$k++) {
if($cb[$i][$k]<$cb[$i][$k]) {
echo "low";
} elseif ($cb[$i][$k]>$cb[$i][$k]) {
echo "high";
}
}
}
我想要的输出应该是这样的
如果 [0]
【问题讨论】:
-
你期望的输出是什么?
-
我得问一下,@Beadyyy。这是作业吗?第二个最重要的:你尝试过什么?
-
@AnkitAgarwal 更新问题
-
@Rafael 不,这不是我的作业,我试图做很多类型的循环但它出错了(更新的问题)
-
您的规范有点模糊-您需要找到之间距离最小的索引对吗? IE。 [0]-[2] 和 [1]-[3] 的距离为零 - 这些索引对可以解决您的问题吗?