html表单输入数组PHP

时间:2015-07-20 07:45:06

标签: 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。

3 个答案:

答案 0 :(得分:0)

你的HTML确定

如果我理解你,请看看这个

com.troyfirstgluonfxapplication

答案 1 :(得分:0)

如果我了解你,其中一些答案是错误的。 首先,如果您使用命名约定data[]fname,它肯定不会分组?

其次,空白括号将使其不断移动到新阵列。 最终会有一堆数组,其中包含一个元素。

您需要对数组进行编号或ID以使它们保持在一起。

<?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]">