我有一个单数组变成多维数组


I have a single array into multidimensional array

我有一个这样的数组:[

0] => Array
        (
            [u_id] => 1
        )
    [1] => Array
        (
            [u_fname] => Aristo
        )
    [2] => Array
        (
            [u_id] => 6
        )
    [3] => Array
        (
            [u_fname] => Anil
        )

但是,我希望我的数组是这样的形式:

array(array[0]=>
   array([uid]=>0,['u_name']=>Aristo)),
   array([1]=>[uid]=>1,['u_name']=>Anil)

试试这个:

<?php
//this is your array in question
$single = array(
    array(
        'u_id' => 1
    ),
    array(
        'u_fname' => Aristo
    ),
    array(
        'u_id' => 6
    ),
    array(
        'u_fname' => Anil
    )
);
print_r($single);
$multi = array_map(function($item) {
    $return = array();
    array_walk_recursive($item, function($value, $index) use (&$return) {
        $return[$index] = $value; //flatten array, but keeping index
    });
    return $return;
}, array_chunk($single, 2)); //split array into sections containing two elements
print_r($multi);

输出:

Array
(
    [0] => Array
        (
            [u_id] => 1
        )
    [1] => Array
        (
            [u_fname] => Aristo
        )
    [2] => Array
        (
            [u_id] => 6
        )
    [3] => Array
        (
            [u_fname] => Anil
        )
)
Array
(
    [0] => Array
        (
            [u_id] => 1
            [u_fname] => Aristo
        )
    [1] => Array
        (
            [u_id] => 6
            [u_fname] => Anil
        )
)