我有一个以下列方式存储的元素:
while($row = $result->fetch_assoc()) {
echo "<tr><td>" . $row["data"]. "</td></tr>";
$data1= floatval($row["data"]);
...
它是从MySQL数据库中提取的值,因此以这种方式存储。如果我想得到迭代的值,让我们说&#34; i&#34;,这很容易,因为我不需要做任何其他事情,但我怎么能获得以下值才能执行减法?那就是说,data2 - data1?我想到类似于$ row [&#34; data&#34;] [i]的东西,但我不确定它是否会起作用。谢谢!
答案 0 :(得分:0)
正如您在fetch_assoc
手册中所看到的,此函数一次只能获取一行,这就是我们使用循环的原因。
fetch_array
和fetch_row
也是如此。
mysqli_result :: fetch_assoc - mysqli_fetch_assoc - 获取结果行 作为关联数组
我能想到的唯一解决方案是循环该数组并根据您的要求将该数据存储在另一个数组中,例如:
$customArr = array();
$i = 0; //counter.
while($row = $result->fetch_assoc()) {
echo "<tr><td>" . $row["data"]. "</td></tr>";
$data1= floatval($row["data"]);
$customArr[$i] = array('id' => $row['id'], 'date' => $date1);
}
稍后,如果要比较数组中的值,则应使用while
和基于索引的方案,例如$customArr[$i-1]
,$customArr[$i]
。
只需确保检查偏移量。
$i = 0;
while($i < count($customArr)){
}