根据值的数量创建多维数组

Create a multidimensional array based on number of values

我有一个数组,它是从一个包含很多字段的表单中获取的,我需要将这些字段排序在一个数组下,并将该数组排序在“'main'”数组下。生病 post 我有什么,我需要得到什么。 我有什么:

Array
(
    [perfil_area1] => Array
    (
        [0] => a2
        [1] => a3
    )

    [perfil_years] => Array
    (
        [0] => 2
        [1] => 4
    )

    [perfil_function] => Array
    (
        [0] => f1
        [1] => f4
    )

    [perfil_obs] => Array
    (
        [0] => teste1
        [1] => teste2
    )

    [perfil_company] => Array
    (
        [0] => emp1
        [1] => emp2
    )
)

这就是我需要做的,所以我可以把它变成一个查询: 我需要什么

Array
(
    [0] => 
    (
        [perfil_area1] => a2
        [perfil_years] =>  2
        [perfil_function] =>  f1
        [perfil_obs] =>  teste1
        [perfil_company] =>  emp1
    )
    [1] =>
    (
        [perfil_area1] => emp2
        [perfil_years] =>  2
        [perfil_function] =>  f4
        [perfil_obs] =>  4
        [perfil_company] =>  a3
    )
)

我已经尝试使用 2 个 foreach,但我没能完成它。我已经阅读了 Create a multidimensional array in a loop , , create multidimensional array using a foreach loop , Converting an array from one to multi-dimensional based on parent ID values 以及更多内容,但我仍然无法做到。关于如何创建它的任何提示?

您只需要遍历输入数组并构建新数组

$new = [];
foreach ($in as $key=>$arr) {
    $new[0][$key] = $arr[0];
    $new[1][$key] = $arr[1];
}
<?php

$result = [];

for ($i=0; $i<count(reset($array)); $i++) {
    $result[] = array_combine(array_keys($array), array_column($array, $i));
}

有关 array_combine(), array_keys() and array_column() 的更多详细信息,请阅读手册。