2014-09-28 93 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']; 
}