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

dut*_*ler 6 php

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

在一个While声明中,有没有办法知道一行中的值是否等于前一行中的值?

cle*_*tus 20

只需存储它:

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


小智 7

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

此示例无法正常工作.它将始终跳过数组中的第一条记录.第一次通过$ 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;
}
Run Code Online (Sandbox Code Playgroud)