Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2008/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP循环4次时,它应该说数字4_Php_While Loop - Fatal编程技术网

PHP循环4次时,它应该说数字4

PHP循环4次时,它应该说数字4,php,while-loop,Php,While Loop,得到这个代码,这是困扰我,我渴望接受任何帮助 $x=0; while($row = mysql_fetch_array($result)) { if ($me == $x) { echo "You are $me"; break; } else { $x++; } } 当我包括休息时;它返回: 您已选择1 然而,当我去掉了破绽;它回来了 您已选择1您已选择1您已选择1您已选择1您已选择1 数据库中目前有6条记录,如果代码有效,它将显示“Yo

得到这个代码,这是困扰我,我渴望接受任何帮助

$x=0;
while($row = mysql_fetch_array($result))
{
  if ($me == $x) 
  {
    echo "You are $me";
    break;
  } 
  else 
  {
    $x++;
  }
}
当我包括休息时;它返回:

您已选择1

然而,当我去掉了破绽;它回来了

您已选择1您已选择1您已选择1您已选择1您已选择1

数据库中目前有6条记录,如果代码有效,它将显示“You is 4th”


有什么想法吗?

你的
$x++仅在
其他
上执行。为了使其在每次迭代中递增,您需要删除
else

$x=0;
while($row = mysql_fetch_array($result))
{
  if ($me == $x) 
  {
    echo "You are $me";
    break;
  }

  $x++;
}

只需补充说明:
$row
似乎与这里的
$me
$x
无关。我假设您的循环包含一些您忽略的其他代码,但仅此一条就可能回答您的问题。

您的
$x++仅在
其他
上执行。为了使其在每次迭代中递增,您需要删除
else

$x=0;
while($row = mysql_fetch_array($result))
{
  if ($me == $x) 
  {
    echo "You are $me";
    break;
  }

  $x++;
}

只需补充说明:
$row
似乎与这里的
$me
$x
无关。我假设您的循环中包含一些您忽略的其他代码,但仅此一条就可能回答您的问题。

您正在修改$x,否则,这将永远无法执行

您需要在与echo相同的部分执行增量

因此,要么:

$x=0;
while($row = mysql_fetch_array($result))
{
  if ($me == $x) 
  {
    echo "You are $me";
    $x++;

  } 
  else 
  {
    $x++;
  }
}
或者,如果您永远不需要在没有回声的情况下增加$x:

$x=0;
while($row = mysql_fetch_array($result))
{
  if ($me == $x) 
  {
    echo "You are $me";
    x++;
  } 
}

如果你在else中修改了$x,这将永远不会被执行

您需要在与echo相同的部分执行增量

因此,要么:

$x=0;
while($row = mysql_fetch_array($result))
{
  if ($me == $x) 
  {
    echo "You are $me";
    $x++;

  } 
  else 
  {
    $x++;
  }
}
或者,如果您永远不需要在没有回声的情况下增加$x:

$x=0;
while($row = mysql_fetch_array($result))
{
  if ($me == $x) 
  {
    echo "You are $me";
    x++;
  } 
}

或者,删除
$x++语句,并在条件(
if($me==$x++)
中对其进行增量后处理。这与递增之前的
$me==$x
相比,只是一种更高级的方法。我通常会同意你的看法。然而考虑到这个问题的相对简单性,我建议提问者暂时坚持简单的结构,当这些都被掌握后,可以使用更先进的技术。@Andy Paton:我知道有人会这么说,所以我在评论中留下了它:)-)我还是添加了rep-因为这是一个很好的解决方案。或者,删除
$x++语句,并在条件(
if($me==$x++)
中对其进行增量后处理。这与递增之前的
$me==$x
相比,只是一种更高级的方法。我通常会同意你的看法。然而考虑到这个问题的相对简单性,我建议提问者暂时坚持简单的结构,当这些都掌握了以后,可以使用更多的先进技术。@Andy Paton:我知道有人会这么说,所以我在评论中留下了它:)-)我还是添加了rep-因为这是一个很好的解决方案。