我试图创建一个数组来存储数字并把它们相加。
<input type="number" name="numbers[]"/>
我在下面的行得到一个未定义的变量
foreach($numbers as $number)
我敢肯定,这可能是一些基本的东西,但我是比较新的PHP和帮助,将不胜感激。
我试图创建一个数组来存储数字并把它们相加。
<input type="number" name="numbers[]"/>
我在下面的行得到一个未定义的变量
foreach($numbers as $number)
我敢肯定,这可能是一些基本的东西,但我是比较新的PHP和帮助,将不胜感激。
如果你想获得你不需要循环,可以使用数组的总和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>
如果您发布的input
是你正在展示从一个网页到另一个,你需要在列表中运行,你应该将其设置是这样的:
if (isset($_REQUEST['numbers']) && is_array($_REQUEST['numbers'])) {
$numbers = $_REQUEST['numbers'];
foreach ($numbers as $number) {
print $number;
}
}
添加一些更多的代码,但它基本上意味着$数字并不在代码中的这一点上宣布呢。
前加入这一行:
$numbers = array();
现在,它不应该给你这个错误。
所以,现在的问题是,在这里应该设置$号码? 为此,我们需要更多的信息和代码。
我不是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);
?>
我希望这是正确的,我希望它能帮助。