如何将其添加到现有阵列?
<input type="text" name="name" />
<input type="text" name="contry" />
<input type='number' name="num[]" value='0' class='qty' />
<input type='number' name="num[]" value='0' class='qty' />
<input type='number' name="num[]" value='0' class='qty' />
数组是:
$data = array("name" => $_POST['name], "contry" => $_POST['contry']);
最后我必须是“par1”=&gt; “num [0]的值”,“par2”=&gt; “num [1]的值。”
我想将num []添加到$ data数组的末尾。
答案 0 :(得分:1)
您可以使用array_push()
类似的东西:
$num=$_POST['num'];
foreach($num as $val)
{
array_push($data, $val)
}
print_r($data);
答案 1 :(得分:1)
您只需使用$ array [&#39; keyname&#39;] =&#39;&#39;添加键/值。
所以你可以使用
<form action="" method="post" >
<input type="text" name="name" />
<input type="text" name="contry" />
<input type='number' name="num[]" value='0' class='qty' />
<input type='number' name="num[]" value='0' class='qty' />
<input type='number' name="num[]" value='0' class='qty' />
<input type="submit"/>
</form>
<?php
$data = array("name" => $_POST['name'], "contry" => $_POST['contry']);
foreach ($_POST['num'] as $k => $v) {
$data['par'.($k+1)] = $v;
}
var_dump($data);
在用(Me,Meme,1,2,4)
填充表格后产生array (size=5)
'name' => string 'Me' (length=2)
'contry' => string 'Meme' (length=4)
'par1' => string '1' (length=1)
'par2' => string '2' (length=1)
'par3' => string '4' (length=1)
如果你只有3个数字,那么你就不需要那个通用了,如果你这样做,代码会更具可读性
$data['par1'] = $_POST['num'][0];
$data['par2'] = $_POST['num'][1];
$data['par3'] = $_POST['num'][2];
答案 2 :(得分:0)
HTML中的num
条目将成为PHP中自己的数组,因此如果您运行var_dump($_POST['num'])
,您将获得以下内容:
array(3)
[0] => 5;
[1] => 6;
[2] => 7;
因此,您可以使用以下语句访问它:
echo($_POST['num'][0]); // Would echo 5, assuming the same values as above
echo($_POST['num'][2]); // Echos 7.
因此,您只需将$_POST['num']
添加为$data
的子数组,或按您认为合适的方式处理它,例如:
$data = array("name" => $_POST['name'], "contry" => $_POST['contry'], "num"=>$_POST['num']);
然后使用:
进行访问$data['num'][0];
答案 3 :(得分:0)
假设您从$ _POST ['name']和$ _POST ['country']获取数据没有任何问题,那么为什么不使用相同的方法从数字中获取数据?
如果数字的数量是动态的(看起来可能是这样),你可以将代码从'num []'更改为'num0'和'num1'等。然后简单地循环直到你得到所有数字他们的数据。
类似的东西:
<input type="text" name="name" />
<input type="text" name="country" />
<input type='number' name="num0" value='0' class='qty' />
<input type='number' name="num1" value='0' class='qty' />
<input type='number' name="num2" value='0' class='qty' />
然后:
$data = array("name" => $_POST['name'], "contry" => $_POST['country']);
$i = 0;
while($i >=0)
{
if(isset($_POST['num' . $i])
{
$data['par' . $i] = $_POST['num' . $i];//this will add the part you want
$i++;
}
else
{
$i = -1;
}
}
这只是一个简单的例子,而不是最优雅的。它不会考虑在中间跳过数字,但你会看到我希望在哪里实现这个想法。