【问题标题】:Convert multi-array in 2-D array php在二维数组php中转换多数组
【发布时间】:2017-03-03 07:07:09
【问题描述】:

我想将多数组转换为二维数组。我有以下多数组的结果。

Array
(
[1] => Array
    (
        [0] => Array
            (
                [0] => Id
                [1] => Name
                [2] => Fname
                [3] => School
                [4] => Photo
            )

    )

[2] => Array
    (
        [0] => Array
            (
                [0] => 32
                [1] => kamal
                [2] => hjhbg
                [3] => hnp
                [4] => B612_16.jpg
            )

    )

[3] => Array
    (
        [0] => Array
            (
                [0] => 33
                [1] => dg
                [2] => fa
                [3] => f
                [4] => bg.jpg
            )

    )

[4] => Array
    (
        [0] => Array
            (
                [0] => 35
                [1] => mohit
                [2] => bc
                [3] => jhbvj
                [4] => B612.jpg
            )

    )

  )

现在我需要将此数组转换为以下格式。

Array
(
[0] => Array
    (
                [0] => Id
                [1] => Name
                [2] => Fname
                [3] => School
                [4] => Photo

    )

[1] => Array
    (
                [0] => 32
                [1] => kamal
                [2] => hjhbg
                [3] => hnp
                [4] => B612_16.jpg

    )

[2] => Array
    (
                [0] => 33
                [1] => dg
                [2] => fa
                [3] => f
                [4] => bg.jpg

    )

[3] => Array
    (
                [0] => 35
                [1] => mohit
                [2] => bc
                [3] => jhbvj
                [4] => B612.jpg
    )

    )

【问题讨论】:

标签: php arrays type-conversion


【解决方案1】:

试试这个

function array_to1d($a) {
    $out = array();
    foreach ($a as $b) {
        foreach ($b as $c) {
            if (isset($c)) {
                $out[] = $c;
            }
        }
    }
    return $out;
}
    echo "<pre>"; print_r(array_to1d($array)); // $array your array name

【讨论】:

    【解决方案2】:

    最短的解决方案是在此处使用array_walk()

    array_walk($array, function(&$v) {
        $v = $v[0];
    });
    

    【讨论】:

      【解决方案3】:

      你只需要这样做

      $two_d_array = array_values($three_d_array);
      

      【讨论】:

        猜你喜欢
        • 2020-05-12
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-11-27
        • 2012-08-15
        • 2012-05-21
        相关资源
        最近更新 更多