[英]Unsupported operand type while comparing values in the php loop
我在php中遍歷了mysql數據行,我想將一行中的值與下一行中的值進行比較。 到目前為止,我做了這樣的代碼:
if ($result->num_rows > 0) {
// output data of each row
while($row = $result->fetch_assoc()) {
$current_row = $row;
$next_row = $row+1;
if ($current_row["begin_date"] > $next_row["end_date"])
{
(...)
}
}
} else {
echo "0 results";
}
但是我收到一條錯誤消息,指出$ row + 1會產生致命錯誤:不支持的操作數類型。 我該如何解決?
例如,當我有這樣的行時:
begin_dates | end_dates
row1: value1 | value2
row2: value3 | value4
row3: value5 | value6
row4: value7 | value8
我想將value2與value3,value4與value5以及value6與value7進行比較-如何在循環中進行比較? 另外-PHP是否可以處理諸如indexarrayoutofbounds異常之類的事情? 我想使此循環通用,並且以后不要擔心到達最后一個索引,例如,在這種情況下,因為value8是最后一個索引-我不想將其與空值(不存在現有的value9)進行比較。 謝謝!
$row+1
不會使您進入下一行
if ($result->num_rows > 0) {
$arr = array();
while($row = $result->fetch_assoc()) {
$arr[] = $row;
}
for($i=0; $i < count($arr); $i++) {
$current_row = $arr[$i];
$next_row = $arr[$i+1];
if ($current_row["begin_date"] > $next_row["end_date"]) {
(...)
}
}
} else {
echo "0 results";
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.