Php 从多维数组生成相关的键数组

Php 从多维数组生成相关的键数组,php,arrays,Php,Arrays,如何从以下表单中读取帖子数据,由于某些原因,我没有使用像Customer[0][fullname]这样的索引,而是使用Customer[][fullname] <form action="form.php" method="post"> <input type="text" name="Customer[][fullname]" /> <input type="text" name="Customer[][nic]" /> <input type="t

如何从以下表单中读取帖子数据,由于某些原因,我没有使用像Customer[0][fullname]这样的索引,而是使用Customer[][fullname]

<form action="form.php" method="post"> 
<input type="text" name="Customer[][fullname]" />
<input type="text" name="Customer[][nic]" />
<input type="text" name="Customer[][fullname]" />
<input type="text" name="Customer[][nic]" />
<input type="text" name="Customer[][fullname]" />
<input type="text" name="Customer[][nic]" />
<input type="submit" />
</form>
我想打破上面的数组,就像下面的数组一样

array(“全名”=>abc,“网卡”=>111)
阵列(“全名”=>def,“nic”=>222)
阵列(“全名”=>xyz,“nic”=>333)

这是我想到的,它适用于注释中要求的两个以上的字段

代码:

<?php

$array = array(
    array('fullname' => 'abc'),
    array('fullname' => 'def'),
    array('fullname' => 'ghi'),
    array('nic' => '111'),
    array('nic' => '222'),
    array('nic' => '333')
);
$index = 0;
foreach($array as $value) {
 if (!isset($old)) {
    $old = key($value);
 }
 if (key($value) != $old) {
    $index = 0;
    $old = key($value);
 }

 $result[$index][key($value)] = $value[key($value)];

 $index++;
}

print_r($result);
Array
(
    [0] => Array
        (
            [fullname] => abc
            [nic] => 111
        )

    [1] => Array
        (
            [fullname] => def
            [nic] => 222
        )

    [2] => Array
        (
            [fullname] => ghi
            [nic] => 333
        )

)

你试过什么了吗?这个阵列来自哪里?为什么是这样格式化的呢?迭代数组可以很容易地解决这个问题,我相信任何使用
var\u dump
的人都非常清楚,@RocketHazmat。我相信如果有什么聪明的方法可以解决这个问题。谢谢你的解决方案,但大多数时候变量都是未知的,我想在不知道变量名称的情况下解决这个问题,比如全名、网卡、电话等,所以最后重复的变量名称应该存储在不同的数组中,变量可能有很多,一个变量可能存在3次以上,我们无法修复逻辑中的任何东西如果只有两个字段,那么您的代码工作得很好,我想知道我是否获得了任何数组元素的代码。@G.Muqtada检查我的新答案。我想我有你的解决办法!
<?php

$array = array(
    array('fullname' => 'abc'),
    array('fullname' => 'def'),
    array('fullname' => 'ghi'),
    array('nic' => '111'),
    array('nic' => '222'),
    array('nic' => '333')
);
$index = 0;
foreach($array as $value) {
 if (!isset($old)) {
    $old = key($value);
 }
 if (key($value) != $old) {
    $index = 0;
    $old = key($value);
 }

 $result[$index][key($value)] = $value[key($value)];

 $index++;
}

print_r($result);
Array
(
    [0] => Array
        (
            [fullname] => abc
            [nic] => 111
        )

    [1] => Array
        (
            [fullname] => def
            [nic] => 222
        )

    [2] => Array
        (
            [fullname] => ghi
            [nic] => 333
        )

)