为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

PHP
呼如林 2021-07-02 10:00:44
我想获取这个数组的第一个元素并放入新的相同数组输出一个要求:不能通过引用索引来完成,例如 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 所以,我怎么能做到这一点?
查看完整描述

1 回答

?
喵喵时光机

TA贡献1846条经验 获得超7个赞

由于您正在更改数组的键(结构),因此如果不生成新数组或通过引用传递数组,就无法做到这一点。通过生成新数组来做到这一点的一种方法是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

)


查看完整回答
反对 回复 2021-07-09
  • 1 回答
  • 0 关注
  • 146 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信