我有一个数组到多维数组

时间:2014-09-20 07:58:52

标签: php arrays 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)

1 个答案:

答案 0 :(得分:1)

试试这个:

<?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);

Output

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
        )

)