2017-02-27 8 views
0

私はHTML入力タグをいくつか生成しています。そのため、ユーザーが記述したテキストを取得できるように、これらと話す方法が必要です。PHPは自動入力関数の名前を生成します

私はこのようにしようとしましたが、計画どおりに動作するように継ぎ目がありません。ここ

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

アイデアは、私は自動「番号1」「number2の」などという名前の入力機能を生成していることです。私はそれらのすべてをつかみ、その価値を得たいと思っています。誰もこれを回避する方法を知っていますか?

答えて

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

私に戻ってくれてありがとう - 私は決してそれを説明しようとするべきではないことが分かりました:/それについてはごめんなさい コードは次のようになります: for($ i = 1; $ i <6 ; $ i ++){ \t \t $ content = "$ key" $ i; \t \t $ pdf-> Write(5、$ content); \t \t $ pdf-> Ln($ i); \t} そして、問題はWrite関数が最初にintをとり、文字列を取ります:しかし、私はそれを作成して、私が望む文字列を通過させることはできません:/ "key1"、 "key2" "key3"と同様に – Holycrabbe

関連する問題