2014-09-28 152 views
-1

这是我的第一个问题。 我正面临着一个问题,这个问题实际上让我发疯。我是PHP的新手,我觉得这是非常简单的东西,我无法弄清楚。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,诺姆和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] 

有谁知道发生了什么,我该如何解决这个问题?谢谢

回答

1

增量$计数仅一次,然后用它作为下标。

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++到循环的结束。

+0

我将$ count移至循环结束并工作。谢谢! – 2014-09-28 15:26:48

1

嗯,你每次增加它。增加它只是一次:

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 
} 
1

增量$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']; 
+1

这样,其他的阵列将有不同的'$ count'值比第一,也许你的意思'$ ++ count' – Axel 2014-09-28 15:12:16

+0

@Axel:哎呀,你是对的。 – 2014-09-28 15:26:11

1
$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++; 
} 
2

我喜欢这个更好的,并没有增量需要:

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']; 
}