2012-08-15 123 views
1

是否有可能將多個文本框值存儲在陣列中,我有文本框如何將多個文本框的值存儲在陣列

<input type="text" name="grade[]" id="grade" /> 
<input type="text" name="grade[]" id="grade" /> 
<input type="text" name="grade[]" id="grade" /> 

的N多我試圖將此代碼添加所有的文本框的值,但它返回只有最後一個文本框的值。

$grade=$_POST['grade']; 
for($i=1;$i<=3;$i++) 
{ 
    $per=$grade[$i]*$grade[$i]; 
    echo $per; 
} 
+2

嘗試'var_dump($ _ POST ['grade'])'以瞭解傳遞給PHP的內容。 – Martin 2012-08-15 10:32:03

+1

你怎麼能設置相同的ID到所有的文本框? – 2012-08-15 10:35:17

回答

2

除了從0開始,如果你有3個文本框,它應該完成2。

for($i=0;$i<=2;$i++) 
{ 
    $per=$grade[$i]*$grade[$i]; 
    echo $per; 
} 

或者你可以使用array length如果你不想硬編碼iteractions的數量。這應該工作:

for($i=0;$i<=count($grade)-1;$i++) 
{ 
    $per=$grade[$i]*$grade[$i]; 
    echo $per; 
} 

編輯

這應該也是一樣,這是稍微乾淨(避免-1),並使用pow()功能:

for($i=0;$i<count($grade);$i++) 
{ 
    echo pow($grade[$i], 2); 
} 
+1

well' $ i <3'將停在2,就像'$ i <= 2'一樣。 – RobFos 2012-08-15 10:47:01

+0

@ Rawb92我寫的時候沒有看到它,後來看到了,我只是用'<='將它保存爲問題格式。編輯它。還添加了pow功能。 – 2012-08-16 01:40:36

2

試試這個...

<?php 

    foreach ($_GET['grade'] as $grade){ 
     $per = $grade * $grade; 
     echo $per; 
    } 

?> 
0

試試用這個

$per=''; 
$grade=$_POST['grade']; 
for($i=0;$i<count($grade);$i++) 
{ 
    $per .=$grade[$i]*$grade[$i]; 
    $per .='<<>>'; 
} 
echo $per; 

count($grade)用於n沒有。 文本框。您需要連接變量的值以獲取所有文本框的值。

相關問題