我有一个表单,其中有四个字段描述一个人:姓名,电子邮件,电话,机构从属关系。 我希望用户点击“添加更多”,添加多个人。当添加两个人时,html就像
<input type='text' name='institution[]'>
<input type='text' name='name[]' >
<input type='text' name='email[]' >
<input tpype='text' name='phone[]' >
<input type='text' name='institution[]'>
<input type='text' name='name[]'>
<input type='text' name='email[]' >
<input tpype='text' name='phone[]' >
发布到php后的数组如下所示:
Array
(
[0] => Array
(
[0] => kemri
[1] => eohs
)
[1] => Array
(
[0] => james muriira
[1] => agnes mburu
)
[2] => Array
(
[0] => james@gmail.com
[1] => agnes@gmail.com
)
[3] => Array
(
[0] => 12345
[1] => 56565
)
)
我需要一个逻辑,将它们组合在一个更有意义的数组中:例如
Array(
[0]=>Array(
[0]=>kemri
[1]=>james muriira
[2]=>james@gmail.com
[3]=>12345
)
[1]=>Array(
[0]=>eohs
[1]=>agnes mburu
[2]=>agnes@gmail.com
[3]=>56565
)
)
)
答案 0 :(得分:5)
你可以这样做:
<input type='text' name='user[0][institution]'>
<input type='text' name='user[0][name]'>
<input type='text' name='user[0][email]'>
<input type='text' name='user[0][phone]'>
<input type='text' name='user[1][institution]'>
<input type='text' name='user[1][name]'>
<input type='text' name='user[1][email]'>
<input type='text' name='user[1][phone]'>
点击0, 1, 3, 4
Add more
答案 1 :(得分:1)
这是代码:
<?php
// PHP Code Here
if($_SERVER['REQUEST_METHOD']=='POST'){
echo '<pre>',print_r($_POST),'</pre>';
$whiteListKey = array('institution','name', 'email', 'phone');
$countArray = array();
$dataArray = array();
foreach ($whiteListKey as $key => $value) {
$countArray[] = count($_POST["$value"]);
}
// get max value from count array
$maxVal = max($countArray);
for ($i=0; $i < $maxVal; $i++) {
foreach ($whiteListKey as $key => $value) {
$dataArray[$i][] = $_POST[$value][$i];
}
}
echo '<pre>',print_r($dataArray),'</pre>';
}
// End Here Code
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
<title>Test Page</title>
</head>
<body>
<form action="" method='POST'>
institution<input type='text' name='institution[]'><br>
name<input type='text' name='name[]' ><br>
email<input type='text' name='email[]' ><br>
phone<input tpype='text' name='phone[]' ><br>
<hr>
institution<input type='text' name='institution[]'><br>
name<input type='text' name='name[]' ><br>
email<input type='text' name='email[]' ><br>
phone<input tpype='text' name='phone[]' ><br>
<input type="submit" value="Submit">
</form>
</body>
</html>