1

数値を格納して一緒に追加する配列を作成しようとしています。

<input type="number" name="numbers[]"/>

次の行に未定義の変数があります

foreach($numbers as $number)

これはおそらく基本的なことだと思いますが、私はphpに比較的慣れていないので、助けていただければ幸いです。

4

4 に答える 4

2

表示しているをあるページから別のページに投稿inputし、リストを実行する必要がある場合は、次のように設定する必要があります。

if (isset($_REQUEST['numbers']) && is_array($_REQUEST['numbers'])) {
  $numbers = $_REQUEST['numbers'];

  foreach ($numbers as $number) {
    print $number;
  }
}
于 2012-09-21T15:04:42.133 に答える
2

ループする必要のない配列の合計を取得したい場合は、次を使用できますarray_sum

<?php
if (isset($_POST['numbers'])) {
    echo array_sum($_POST['numbers']);
}

?>

<form method="POST">
<input type="number" name="numbers[]"/>
<input type="number" name="numbers[]"/>
<input type="number" name="numbers[]"/>
<input type="number" name="numbers[]"/>
<input type="submit" value="add"/>
</form>
于 2012-09-21T15:07:31.243 に答える
0

私はPHPの専門家ではありませんが、あなたを正しく理解していて、変数を配列に入れようとしている場合は、配列のどの部分を想定するかを言う必要があります。$array[i]とは同じで$arrayはなく、何かを入れようとすると$array、一度に1つのものしか保持できないと確信しています。誰かがフォームから入力した数字の束を収集しているだけの場合は、このようなことを行うことができます。

//For the form
<form action="formHandler.php" method="post">
  <input type="text" name="number1">
  <input type="text" name="number2">
  //continue in this manner for as many numbers as you need to gather.
</form>

//for the PHP side of it.
<?php
  $x=1;
  $numbersArray = array();
  for($i=0; $i<10; $i++){
   $numbersArray[$i] = $_POST['number'.$x];
   $x++;
  }
//to add them up
$total=array_sum($numbersArray);
?>

そうだといいのですが、お役に立てば幸いです。

于 2012-09-21T15:14:17.850 に答える
0

さらにコードを追加しますが、これは基本的に、コードのこの時点で$numbersがまだ宣言されていないことを意味します。

前にこの行を追加します。

$numbers = array();

今、それはあなたにこのエラーを与えるべきではありません。

では、問題は、$numbersはどこに設定されるのかということです。そのためには、より多くの情報とコードが必要です。

于 2012-09-21T15:04:31.043 に答える