在html中关联多维数组

时间:2017-12-22 11:42:00

标签: php html arrays

我有两个字段

url和id

<input type='url' name='data[web][url]'><input type='number' name='data[web][id]'>
<input type='url' name='data[web][url]'><input type='number' name='data[web][id]'>
<input type='url' name='data[web][url]'><input type='number' name='data[web][id]'>

现在,当我提交输入并提交表单时,我希望输出就像。

Array(
  [0]=>[
      [data] =>[
        'url' =>url1,
        'id'  =>id1
       ],
    ],
  [1]=>[
      [data] =>[
        'url' =>url2,
        'id'  =>id2
       ],
    ],
  [2]=>[
      [data] =>[
        'url' =>url3,
        'id'  =>id3
       ],
    ],

)

是否可以将输入关联起来,如上例所示?

1 个答案:

答案 0 :(得分:1)

如果您不希望(不能)更改您的HTML标记(关于PHP标记),在PHP中它可能类似于

<?php

# data from your form
$data = array(
    'web' => array(
        'url' => array(
            'url1',
            'url2',
            'url3'
        ),

        'id' => array(
            'id1',
            'id2',
            'id3'
        )
    )
);


$output = array();

for ($i = 0; $i < count($data['web']['url']); $i++) {
    $output[$i]['data']['url'] = $data['web']['url'][$i];
    $output[$i]['data']['id'] = $data['web']['id'][$i];
}

echo '<PRE>';
print_r($output);

输出

Array
(
    [0] => Array
        (
            [data] => Array
                (
                    [url] => url1
                    [id] => id1
                )

        )

    [1] => Array
        (
            [data] => Array
                (
                    [url] => url2
                    [id] => id2
                )

        )

    [2] => Array
        (
            [data] => Array
                (
                    [url] => url3
                    [id] => id3
                )

        )

)

我已使用$data变量,而您将使用$_POST['data']