2017-02-27 63 views
0

我正在寫一些自我生成的HTML輸入標籤,因此我需要一種方式來與這些說話,以便我可以抓取用戶寫入的文本。PHP自動生成輸入函數的名字

我試過這樣做,但它不縫合工作計劃,任何好主意?

for ($i = 1; $1 <= 5; $1++) { 
    $Content = $number.$i; 
    $Sum = $_POST[$Content]; 
    $Total = $Total + $Sum 
} 
Echo $Total; 

的想法在這裏是我有自動生成的命名「數字1」「號碼2」等輸入功能。然後我想抓住所有這些並獲得它們的價值。有人知道解決這個問題的方法嗎?

回答

0

我和其他許多人在剛剛學習時就已經走上了變量變量的路徑,而且這是可能的。但這是陣列的用途。定義你的輸入作爲一個數組:

<input type="text" name="number[]"> 
<input type="text" name="number[]"> 

然後就循環他們:

$total = 0; 
foreach($_POST['number'] as $number) { 
    $total += $number; 
} 

如果要定義鍵和使用,由於某些原因:

<input type="text" name="number[1]"> 
<input type="text" name="number[2]"> 

然後,你可以使用你的循環風格或:

$total = 0; 
foreach($_POST['number'] as $key => $number) { 
    // use $key somehow 
    $total += $number; 
} 
+0

Awsome! :D非常感謝 – Holycrabbe

0

在for循環中,您正在啓動/聲明$ i和$ l遞增,這是不正確的。分號(;)錯過了 。 「$ number」應該是「number」

使用下面的代碼。

$Total = '0'; 
for($i=1;$i<=5;$i++){ 
    $Content = "number".$i; 
    $Sum = $_POST[$Content]; 
    $Total = $Total + $Sum; 
} 
echo $Total; 
+0

Hey there:D 感謝您回覆我 - 我可以看到,我從來不應該試圖解釋它有任何不同,那麼它是:/對不起,關於該 代碼如下所示: for($ i = 1; $ i <6 ; $ i ++){ \t \t $ content =「$ key」。 $ I; \t \t $ pdf->寫(5,$ content); \t \t $ pdf-> Ln($ i); \t} 問題出在Write函數首先接受一個int然後接受一個字符串:但是我不能通過字符串創建和過去,我希望:/它是「key1」,「key2」 「key3」等等 – Holycrabbe