PHP在while循环中自动递增

PHP在while循环中自动递增,php,mysql,Php,Mysql,这是我的第一个问题。 我正面临一个让我发疯的问题。我是PHP新手,我觉得这是一件非常简单的事情,我就是搞不懂 我有以下代码: $busca_alimento = mysql_query("SELECT * FROM alimentos"); if (empty($busca_alimento)) { echo 'Nothing found'; } $count = 0; while ($alimento_informacoes = mysql_fetch_array($busca_

这是我的第一个问题。 我正面临一个让我发疯的问题。我是PHP新手,我觉得这是一件非常简单的事情,我就是搞不懂

我有以下代码:

$busca_alimento = mysql_query("SELECT * FROM alimentos");
if (empty($busca_alimento)) { 
    echo 'Nothing found';
}

$count = 0;

while ($alimento_informacoes = mysql_fetch_array($busca_alimento)) {

    $alimento_id[$count++] = $alimento_informacoes['id'];
    $alimento_categoria[$count++] = $alimento_informacoes['categoria'];
    $alimento_nome[$count++] = $alimento_informacoes['nome'];
    $alimento_quantidade[$count++] = $alimento_informacoes['quantidade'];

}
我想获取ID、Categoria、Nome和Quantidade行,并将数据存储在这些变量中,如下所示:

$alimento_id[1]
$alimento_categoria[1]
$alimento_nome[1]
$alimento_quantidade[1]
但现在发生的是:

$alimento_id[1]
$alimento_categoria[2]
$alimento_nome[3]
$alimento_quantidade[4]

有人知道发生了什么吗?我如何解决这个问题?谢谢你

好吧,你每次都在增加它。只增加一次:

while ($alimento_informacoes = mysql_fetch_array($busca_alimento)) {
    // so first loop, its just zero, 0
    $alimento_id[$count] = $alimento_informacoes['id'];
    $alimento_categoria[$count] = $alimento_informacoes['categoria'];
    $alimento_nome[$count] = $alimento_informacoes['nome'];
    $alimento_quantidade[$count] = $alimento_informacoes['quantidade'];
    // so before this line, its all zero
    $count++; // then increment
    // increment it after cycle is complete
}

循环中只增加一次$count:

$alimento_id[++$count] = $alimento_informacoes['id'];
$alimento_categoria[$count] = $alimento_informacoes['categoria'];
$alimento_nome[$count] = $alimento_informacoes['nome'];
$alimento_quantidade[$count] = $alimento_informacoes['quantidade'];

只增加$count一次,然后将其用作下标

while ($alimento_informacoes = mysql_fetch_array($busca_alimento)) {
    $count++;
    $alimento_id[$count] = $alimento_informacoes['id'];
    $alimento_categoria[$count] = $alimento_informacoes['categoria'];
    $alimento_nome[$count] = $alimento_informacoes['nome'];
    $alimento_quantidade[$count] = $alimento_informacoes['quantidade'];

}

根据$count的初始值和要使用的值,您可能需要将
$count++
移动到循环的末尾。

我更喜欢这样,不需要增加:

$busca_alimento = mysql_query("SELECT * FROM alimentos");
if (empty($busca_alimento)) { 
  echo 'Nothing found';
}

$count = 0;

while ($alimento_informacoes = mysql_fetch_array($busca_alimento)) {

$alimento_id[$count] = $alimento_informacoes['id'];
$alimento_categoria[$count] = $alimento_informacoes['categoria'];
$alimento_nome[$count] = $alimento_informacoes['nome'];
$alimento_quantidade[$count] = $alimento_informacoes['quantidade'];

$count++;
}
while ($alimento_informacoes = mysql_fetch_array($busca_alimento)) {
  $alimento_id[]         = $alimento_informacoes['id'];
  $alimento_categoria[]  = $alimento_informacoes['categoria'];
  $alimento_nome[]       = $alimento_informacoes['nome'];
  $alimento_quantidade[] = $alimento_informacoes['quantidade'];
}

这样,其他数组的
$count
值将不同于第一个数组,可能您的意思是
+$count
我将$count移动到循环的末尾并工作。谢谢