2015-04-22 82 views
0

我使用一個HTML表單來獲取php代碼中的數據。下面是PHP代碼:在php中增加序列號

for ($i = 0; $i < count($sl); $i++) { 
$email_body .= "SL:" . $sl[$i] . "NAME:" . $name[$i] . "EMAIL:" . $mail[$i] . "\n"; 
} 

這使輸出他格式如下:

SL NAME EMAIL 
0 Peter [email protected] 
1 Purker [email protected] 

但我需要它的格式如下:

SL NAME EMAIL 
1 Peter [email protected] 
2 Purker [email protected] 

我可以糾正碼通過書寫「$ i = 1;」但它不是正確的解決方案,因爲這是再次在JavaScript中使用的代碼。因此,請告訴我如何在$ i = 0時將SL設爲1。請幫助我嗎?

+1

什麼是SL?它從何而來? – Styphon

+0

不是你的問題的答案,但它可能會更好使用foreach($ sl),而不是for循環。 –

+0

SL只是序列號(即從1,2,3,4開始...... – guruje

回答

1

這應該在這種情況下,爲你工作:

$a = 1; 
for ($i = 0; $i < count($sl); $i++) {  
    $email_body .= "SL:" . $a++ . "NAME:" . $name[$i] . "EMAIL:" . $mail[$i] . "\n"; 
} 

演示:https://eval.in/317273

+0

爲什麼要downvote? –

+0

因爲'$ sl [a] '在最後一個循環中不存在,它會產生一個錯誤。 – Styphon

+0

對不起,你能解釋一下嗎? @Styphon –

-1

看起來像你的$ SL是0索引,應爲1索引,你可以做

for ($i = 0; $i < count($sl); $i++) { 
    $email_body .= "SL:" . $sl[$i] + 1 . "NAME:" . $name[$i] . "EMAIL:" . $mail[$i] . "\n"; 
} 

or 

for ($i = 0; $i < count($sl); $i++) { 
    $email_body .= "SL:" . $sl[$i + 1] . "NAME:" . $name[$i] . "EMAIL:" . $mail[$i] . "\n"; 
} 
+0

第二個for循環會出錯,因爲$ sl [count($ sl)]'不會存在,但是在最後一個循環中,這是您要檢查的循環。 – Styphon

+0

如果我把$ sl + 1作爲SL:1用於第一行,但對於第二行,它顯示SL:3,對於第三行:SL:4 – guruje

+0

聽起來像$ sl並不是你期望的那樣 –