如何从数组中获取第一个键(0 或关联)并在新数组中输出

我想获取这个数组的第一个元素并放入新的相同数组输出


一个要求:不能通过引用索引来完成,例如 0


这个输入数组


        [ 'id','ID','dt-text' ] ,

        [ 'name','Name','dt-text' ] ,

        [ 'artistList'=>['list','mm','defalut']  ,'Artist List','dt-select'] ,

        [ 'nationality'=>['nationality','mm','defalut']  ,'Nationality','dt-select'] ,

        [ 'view','View',''],

        [ 'status','Status' ,'']


array:6 [▼

  0 => array:3 [▼

        0 => "id"

        1 => "ID"

        2 => "dt-text"

  ]

  1 => array:3 [▼

        0 => "name"

        1 => "Name"

        2 => "dt-text"

  ]

  2 => array:3 [▼

        "artistList" => array:3 [▼

              0 => "list"

              1 => "mm"

              2 => "defalut"

        ]

        0 => "Artist List"

        1 => "dt-select"

  ]

  3 => array:3 [▼

        "nationality" => array:3 [▼

              0 => "nationality"

              1 => "mm"

              2 => "defalut"

        ]

        0 => "Nationality"

        1 => "dt-select"

  ]

  4 => array:3 [▼

        0 => "view"

        1 => "View"

        2 => ""

  ]

  5 => array:3 [▼

        0 => "status"

        1 => "Status"

        2 => ""

  ]

]

我需要的新阵列


这是输出数组


['id','name','artistList'=>['list','mm','defalut'] ,'nationality'=>['nationality','mm','defalut'] ,'view','status']

array:6 [▼

    0 => "id"

    1 => "name"

    "artistList" => array:3 [▼

                0 => "list"

                1 => "mm"

                2 => "defalut"

                ]

    "nationality" => array:3 [▼

                0 => "nationality"

                1 => "mm"

                2 => "defalut"

                ]

    2 => "view"

    3 => "status"

]

注意我可以在输入数组中控制相同,我尝试在 php 中使用 foreach 并在 Laravel Helper 函数头中使用托盘放置我得到 S

把我不能得到 Resslut 所以,我怎么能做到这一点?


呼如林
浏览 147回答 1
1回答

喵喵时光机

由于您正在更改数组的键(结构),因此如果不生成新数组或通过引用传递数组,就无法做到这一点。通过生成新数组来做到这一点的一种方法是array_reduce:$array = [        [ 'id','ID','dt-text' ] ,        [ 'name','Name','dt-text' ] ,        [ 'artistList'=>['list','mm','defalut']  ,'Artist List','dt-select'] ,        [ 'nationality'=>['nationality','mm','defalut']  ,'Nationality','dt-select'] ,        [ 'view','View',''],        [ 'status','Status' ,'']    ];$array = array_reduce($array, function ($c, $v) {     $first_key = array_keys($v)[0];    return array_merge($c, array($first_key => $v[$first_key])); }, []);print_r($array);输出:Array (  [0] => id  [1] => name  [artistList] => Array (    [0] => list    [1] => mm    [2] => defalut  )  [nationality] => Array (    [0] => nationality    [1] => mm    [2] => defalut  )  [2] => view  [3] => status)
打开App,查看更多内容
随时随地看视频慕课网APP