2015-07-20 92 views
1

我有一个问题,我的克隆形式:HTML表单输入数组PHP

形式有4个输入,我需要独立的变量,把它们放在一起的人。

我输入:

<input type="text" name="fName[]"> 
<input type="text" name="lName[]"> 
<input type="number" name="age[]"> 
<input type="text" name="city[]"> 

我的PHP:

$fNameArray = $_POST['fName']; 
$lNameArray = $_POST['lName']; 
$ageArray = $_POST['age']; 
$cityArray = $_POST['city']; 

我真不明白数组如何二维上班,一群人来完成的形式,如下面的例子:

名:siddharta,姓氏:naranjo,年龄:29,城市:墨西哥
名字:xxxxx,姓氏:xxxxxx,年龄:xx,城市:xxxx。

回答

0

这些答案有些是错的,如果我理解你。 首先,如果您使用命名约定data[]fname那么它不会确定分组?

其次,空白支架将不断移动到一个新的阵列。 你最终会得到一个有一个元素的数组。

您将需要对阵列进行编号或标识以将它们保持在一起。

<?php 
    if(isset($_POST['data'])){ 
     $results = $_POST['data']; 
     echo "<pre>"; 
     print_r($results); 
     echo "<pre>"; 
    } 
?> 


<form action="" method="post"> 
    <!-- User 1 --> 
    <input type="text" name="data[0][fName]" value="test 1"> 
    <input type="text" name="data[0][lName]" value="test 1"> 
    <input type="number" name="data[0][age]" value="21"> 
    <input type="text" name="data[0][city]" value="test 1"> 

    <br> 

    <!-- User 2 --> 
    <input type="text" name="data[1][fName]" value="test 2"> 
    <input type="text" name="data[1][lName]" value="test 2"> 
    <input type="number" name="data[1][age]" value="22"> 
    <input type="text" name="data[1][city]" value="test 2"> 

    <br> 

    <!-- User 3 --> 
    <input type="text" name="data[2][fName]" value="test 3"> 
    <input type="text" name="data[2][lName]" value="test 3"> 
    <input type="number" name="data[2][age]" value="23"> 
    <input type="text" name="data[2][city]" value="test 3"> 

    <br> 

    <input type="submit" value="Go"> 
</form> 

这会产生这样的:

Array 
(
    [0] => Array 
     (
      [fName] => test 1 
      [lName] => test 1 
      [age] => 21 
      [city] => test 1 
     ) 

    [1] => Array 
     (
      [fName] => test 2 
      [lName] => test 2 
      [age] => 22 
      [city] => test 2 
     ) 

    [2] => Array 
     (
      [fName] => test 3 
      [lName] => test 3 
      [age] => 23 
      [city] => test 3 
     ) 

) 

这是什么样子,你想要什么?

-2

使用2维数组的键。

<input type="text" name="fName[0]"> 
<input type="text" name="lName[0]"> 
<input type="number" name="age[0]"> 
<input type="text" name="city[0]"> 

<input type="text" name="fName[1]"> 
<input type="text" name="lName[1]"> 
<input type="number" name="age[1]"> 
<input type="text" name="city[1]"> 
0

你的HTML是确定

如果我理解你的权利来看看这个

<?php 
    if($_POST && isset($_POST['fName'])) { 
     $people = count($_POST['fName']); 
     for($i=0; $i<$people; $i++) { 
      echo "<p>first name: {$_POST['fName'][$i]}, last name: {$_POST['lName'][$i]} ...</p>"; 
     } 
    }