在php中将类似abc[0]的HTML元素名称转换为数组

在php中将类似abc[0]的HTML元素名称转换为数组,php,Php,试图将传入的表单值从Ajax转换为Php数组,但其行为似乎类似于字符串 使用下面的reg ex,如果我手头有输入名称,我可能能够通过循环手动替换键,但我认为这不是最好的方法,请建议 preg_match('/^A\[\d+\]/', $key); preg_match('/^B\[\d+\]/', $key); 我的表格是这样的 <input type="text" id="c[0]" name="c[0]" value=""> 我想将传入值转换为如下所示的php数组 A[0]

试图将传入的表单值从Ajax转换为Php数组,但其行为似乎类似于字符串

使用下面的reg ex,如果我手头有输入名称,我可能能够通过循环手动替换键,但我认为这不是最好的方法,请建议

preg_match('/^A\[\d+\]/', $key);
preg_match('/^B\[\d+\]/', $key);
我的表格是这样的

<input type="text" id="c[0]" name="c[0]" value="">
我想将传入值转换为如下所示的php数组

A[0] = Test1
A[1] = Test1
B[0] = Test2
B[1] = Test2

正在使用json_encode将表单元素发送到Ajax,因此必须在传入时解码,然后parse_str完成工作,将字符串转换为数组,无法避免foreach循环

        $p2 = json_decode($_GET['form_ele1'], true);

        $p4 = array();
        foreach($p2 as $key => $value){
            $tkey = $key;
            parse_str($tkey, $arr);
            foreach($arr as $key2 => $value2){
                $p4[$key2][key($value2)] = $value;
            } 
        } 
        $p2 = $p4;

显示您使用的ajax代码。无需手动执行此操作。
        $p2 = json_decode($_GET['form_ele1'], true);

        $p4 = array();
        foreach($p2 as $key => $value){
            $tkey = $key;
            parse_str($tkey, $arr);
            foreach($arr as $key2 => $value2){
                $p4[$key2][key($value2)] = $value;
            } 
        } 
        $p2 = $p4;