是否可以对$ _POST变量进行分组?

0pl*_*us1 11 php forms post

我有一个庞大的表单(对于内部CMS)由几个部分组成,其中一些是可选的,其中一些是必修的.一切都是在一个单调的形式(它必须像这样,没有ajax,没有其他方式:-()

因为在Dilbertesque方式中,每一秒都会发生变化,我想知道是否有任何简单的方法来分组$ _POST数据,我的意思是发送这样的POST:

$_POST['form1']['datax']

或者很容易从服务器端检索数据,并且很容易就是说我必须明确声明:

$array1 = array($_POST['datax'],$_POST['datay'],...);

$array2 = array($_POST['dataalpha'],$_POST['dataomega'],...);

因为有大约60个领域.

我希望我能够很好地解释这一点,并且总是非常感谢你..

nic*_*ckf 27

如果为输入元素提供类似于数组的名称,它们将$_POST作为数组到达PHP (或$ _GET)数组:

<input type="text" name="foo[]" value="a"/>
<input type="text" name="foo[]" value="b" />
<input type="text" name="foo[]" value="c" />
<input type="text" name="foo[bar]" value="d" />
<input type="text" name="foo[baz][]" value="e" />
<input type="text" name="foo[baz][]" value="f" />
Run Code Online (Sandbox Code Playgroud)

去:

print_r($_POST)
foo => array (
    0 => a
    1 => b
    2 => c
    bar => d
    baz => array(
        0 => e
        1 => f
    )
)
Run Code Online (Sandbox Code Playgroud)


Mik*_* A. 5

如果您正确命名输入,则可以这样做.例:

<input type="text" name="textInput[]" />
<input type="text" name="textInput[]" />
Run Code Online (Sandbox Code Playgroud)

这将填充名为textInput的$ _POST中的数组.那是:

$_POST['textInput'][0] == "whatever the first was set to be"
$_POST['textInput'][1] == "whatever the second was set to be"
Run Code Online (Sandbox Code Playgroud)