将值与while循环中的前一行进行比较?

时间:2009-04-11 09:52:13

标签: php

我是PHP的新手,请原谅我提出一个基本问题。

While语句中,有没有办法知道行中的值是否等于上一行中的值?

2 个答案:

答案 0 :(得分:20)

只需存储它:

$get = mysql_query("...");
$previous = '';
while ($row = mysql_fetch_assoc($get)) {
  $current = $row['...'];
  if ($current == $previous) {
    // do stuff
  }
  $previous = $current;
}

答案 1 :(得分:7)

$get = mysql_query("...");
$previous = '';
while ($row = mysql_fetch_assoc($get)) {
  $current = $row['...'];
  if ($current == $previous) {
  // do stuff
}
$previous = $current;
}

此示例无法正常工作。它将始终跳过数组中的第一条记录。 第一次通过$ previous将是空白,因此$ current和$ previous不会相等。 $ current将不得不空白第一遍,就像之前一样。 在if循环中必须使$ current相等。

$get = mysql_query("...");
$previous = '';
$current = '';
while ($row = mysql_fetch_assoc($get)) {

  if ($current == $previous) {
     $current = $row['...'];
    // do stuff
   }
 $previous = $current;
}