将 POST 转换为多维数组 [英] Convert POST to multidimensional array

查看:68
本文介绍了将 POST 转换为多维数组的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个创建 $_POST 变量的表单,例如:

I have a form that creates a $_POST variable like:

Array
(
    [submit] => Update the List!
    [12052,s] => 1
    [12052,d] => 0
    [12052,r] => 1
    [11271,s] => 1
    [11271,d] => 0
    [11271,r] => 5
    [16008,s] => 0
    [16008,d] => 0
    [16008,r] => 4
)

我想使用 PHP 将其转换为多维数组,例如:

and I would like to use PHP to convert it to a multidimensional array like:

Array
(
    [12052] => Array
        (
            [s] => 1
            [d] => 0
            [r] => 1
        )

    [11271] => Array
        (
            [s] => 1
            [d] => 0
            [r] => 5
        )

    [16008] => Array
        (
            [s] => 0
            [d] => 0
            [r] => 4
        )

)

我知道我可以使用以下代码手动创建这样的数组:

I know that I can make an array like this manually with this code:

$test = array("12052" => array("s"=>"1","d"=>"0","r"=>"1"),"11271" => array("s"=>"1","d"=>"0","r"=>"5"),"16008" => array("s"=>"0","d"=>"0","r"=>"4"));

感谢您帮助我找出如何以最佳方式做到这一点!

Thanks for helping me figure out how to do this the best way possible!

推荐答案

试试这个:

$result = array();

foreach ($_POST as $key => $value) {
    if ($key !== 'submit') {
        $key = strtok($key, ','); // remove everything after ','
        $result[$key][] = $value;
    }    
}

演示

这篇关于将 POST 转换为多维数组的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆