获取循环/ while中的第一个条目


Get first entry from loop / while

我需要循环中的第一个ID。

循环:

while ($row = $db->sql_fetchrow($result))
{
echo ($row['post_id']) . '<br /><br />';
}

回声结果:

817856<br /><br />817865<br /><br />817870<br /><br />817871<br /><br />817873<br /><br />817874<br /><br />

本例中我只需要Number 817856

var_dump

var_dump($row['post_id']);

var_dump结果:

string(6) "817856" string(6) "817865" string(6) "817870" string(6) "817871" string(6) "817873" string(6) "817874"

我试着:

reset and array_shift没有成功。谢谢你

您需要使用一个变量来跟踪循环并在循环时获取第一个ID。默认情况下,您必须将一个变量赋值为true,并在循环中获取该变量的ID,同时将该变量设为false,以便该变量始终保持为false。使用IF条件就可以了。

$flag = true;
while ($row = $db->sql_fetchrow($result)){
    if($flag === true){
        $ID = $row['post_id'];
        $flag = false;
    }
    echo ($row['post_id']) . '<br /><br />';
}
echo $ID; // 817856

如果你只需要第一个ID,那么它将是较短的版本。当不使用循环时,查询只返回第一行。

$row = $db->sql_fetchrow($result);
echo $row['post_id']; //817856

你可以这样做

$i = 0;
$result;
while ($row = $db->sql_fetchrow($result))
{
  if ($i > 0) 
    {
        break;    
    }
  echo ($row['post_id']) . '<br /><br />';
  $result = $row['post_id'];
  i++;
}