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

使用 array_fill_keys 和 array_walk 分配数组键

使用 array_fill_keys 和 array_walk 分配数组键

PHP
冉冉说 2021-08-28 15:26:58
我的问题是,我想组合两个数组,一个包含表的标题,另一个包含数据。我想创建一个以列名作为键的关联数组。不知何故,我得到了意想不到的结果(键应用于错误的数组)并且无法弄清楚原因。$header = array(array('Name','Position','Salary'));$data  = array(    array('John','Manager','30000'),    array('Cindy','Associate','50000'),    array('Paul','Staff','20000'),    array('Mandy','Staff','100000')    );array_walk($data, function(&$value, &$key) use ($header) {$value = array_fill_keys($header[0],$value);});var_dump($data);这是在线版本的链接:http : //sandbox.onlinephpfunctions.com/code/5ad09dbf2c0af5d87f17c64118b9c68a7374a666我想要实现的是, $data 中的每一行都有 $header[0] 作为键。
查看完整描述

2 回答

?
慕的地10843

TA贡献1785条经验 获得超8个赞

您可以使用 array_shift 和 array_combine 一起将索引加 1,


$header = array_shift($header); // to index 1 up    

array_walk($data, function(&$value, &$key) use ($header) {

    $value = array_combine($header,$value);

});

print_r($data);


您将 array_fill_keys 用于错误的目的,


查看完整回答
反对 回复 2021-08-28
?
小唯快跑啊

TA贡献1863条经验 获得超2个赞

用 array_combine

array_walk($data, function(&$value, &$key) use ($header) {$value = array_combine($header[0],$value);});


查看完整回答
反对 回复 2021-08-28
  • 2 回答
  • 0 关注
  • 145 浏览

添加回答

举报

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