我有一个元素以下列方式存储:
while($row = $result->fetch_assoc()) {
echo "<tr><td>" . $row["data"]. "</td></tr>";
$data1= floatval($row["data"]);
...
它是从 MySQL 数据库中提取的值,因此以这种方式存储。如果我想获得迭代的值,比如说“i”,这很容易,因为我不需要做任何其他事情,但是我如何获得以下值才能执行减法?也就是说,data2 - data1?我想到了类似于 $row["data"][i] 的东西,但我不确定它是否会起作用。谢谢!
最佳答案
在fetch_assoc
的手册中可以看到这个函数一次只获取一行,这就是我们使用循环的原因。
fetch_array
和 fetch_row
也是如此。
mysqli_result::fetch_assoc -- mysqli_fetch_assoc — Fetch a result row as an associative array
我能想到的唯一解决方案是循环该数组并根据您的要求将该数据存储在另一个数组中,例如:
$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)){
}
关于PHP:获取数组元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31111514/