我正在尝试创建一个数组来存储数字并将它们加在一起。
<input type="number" name="numbers[]"/>
我在下一行获得了一个未定义的变量
foreach($numbers as $number)
我确信这可能是基本的东西,但我对php相对较新,非常感谢帮助。
答案 0 :(得分:2)
如果您将从一个页面显示的input
发布到另一个页面,并且需要运行该列表,则应将其设置为:
if (isset($_REQUEST['numbers']) && is_array($_REQUEST['numbers'])) {
$numbers = $_REQUEST['numbers'];
foreach ($numbers as $number) {
print $number;
}
}
答案 1 :(得分: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>
答案 2 :(得分:0)
添加更多代码,但这基本上意味着代码中此时尚未声明$ numbers。
在此之前添加此行:
$numbers = array();
现在它不应该给你这个错误。
所以现在的问题是,应该在哪里设置$ number?为此,我们需要更多信息和代码。
答案 3 :(得分:0)
我不是PHP专家,但如果我理解正确并且您试图将变量放入数组中,您需要说明我将假设的数据部分。我非常确定$array[i]
和$array
不一样,如果你试图将某些内容放入$array
,那么它一次只能容纳一件事。如果你只是收集某人从某个表单输入的数字,那么你可以做这样的事情。
//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);
?>
我希望这是正确的,我希望它有所帮助。