我是编程的新手,我正在尝试创建一个表单,通过表单提交将值传递给数据库。
在我的html表单中,我有一些输入:
<input name="lastnames[1][]" />
<input name="lastnames[2][]" />
等 现在,在我的php文件中,我得到像这样的值的lastnames数组:
<?php
$lastname = $_POST['lastnames'];
?>
我希望将此数组的值保存到另一个数组,然后能够读取新数组的值。 所以,我尝试了以下但没有成功:
//For saving values to new array:
<?php
$newarray = array();
foreach($lastname as $lastnames) {
foreach($lastnames as $values) {
$newarray[$lastnames][$values] = $values;
}
}
?>
//For reading values from new array:
<?php
foreach($newarray as $lastnames) {
foreach($lastnames as $values) {
echo $newarray[$lastnames][$values];
}
}
?>
对此有何想法?我试图通过一个例子理解逻辑,所以能够使用二维数组,所以任何帮助真的很感激!
答案 0 :(得分:0)
循环遍历多维数组并将结果存储在新数组变量$ newArray中。
<?php
$lastname=array(array("name"=>"d1","family"=>"s1"),array("name"=>"d2","family"=>"s2"));
$newarray = array();
foreach($lastname as $key=> $lastnames) {
foreach($lastnames as $key2=>$values) {
$newarray[$key][$key2] = $values;
}
}
foreach($newarray as $key=>$lastnames) {
foreach($lastnames as $key2=> $values) {
echo $key."->".$key2."->".$values."<br>";
}
}
您也可以使用reduce并使用array_merge
$result = array_reduce($lastname, function($c,$v){
return array_merge(array_values($c),array_values($v));
}, array());
var_dump($result);